Ruby on rails Dashbord驿站和驿站的最佳路线
我有两种布局:Ruby on rails Dashbord驿站和驿站的最佳路线,ruby-on-rails,ruby-on-rails-4,routes,Ruby On Rails,Ruby On Rails 4,Routes,我有两种布局: 仪表板(登录用户可以在其中添加/编辑/删除新帖子) 公共视图(任何人都可以阅读帖子) 我希望得到如下URL: 仪表板\u post\u路径和 发布路径 但我不想有两个不同的控制器(例如后控制器和仪表板后控制器),因为我想共享相同的代码,只切换布局(“仪表板”布局或“默认”布局)。 我试过这个 namespace :dashboard do resources :posts end 但我明白了 因为它查找仪表板/帖子#索引控制器 class Posts
- 仪表板(登录用户可以在其中添加/编辑/删除新帖子)
- 公共视图(任何人都可以阅读帖子)
namespace :dashboard do
resources :posts
end
但我明白了
因为它查找仪表板/帖子#索引控制器
class PostsController < ApplicationController
before_action :set_post, only: [:show, :edit, :update, :destroy]
before_filter :authenticate_user!, only: [:edit, :update, :destroy, :new]
layout 'dashboard'
//...
end
class PostsController
您可以编写如下条件布局
条件布局
在控制器级别指定的布局支持:only和:except选项。这些选项采用与控制器中的方法名称相对应的方法名称或方法名称数组:
class EventsController < ApplicationController
layout :resolve_layout
def resolve_layout
case action_name
when "show"
"post_layout"
when "index"
"dashboard_layout"
else
"default_layout"
end
end
end
类事件控制器
你看起来像这样吗?好的,但是我可以检测到用户是在“仪表板”上还是默认设置上?我不知道,你能详细解释一下吗。看看我在问题上发布的代码。在PostController中,我如何检测我是否在“仪表板”案例中?