小编asl*_*let的帖子

资源的单个视图上的不同布局和路由

我是rails的新手,对CMS中的布局和路由有疑问.我在搜索网页后没有遇到过这个问题的答案,所以我希望有人可以帮助我.

我正在构建CMS并且必须布局,application.html.erb(默认)是登录后可用的前公共页面和admin.html.erb.

我有一个名为Post的资源.是否有可能只有show视图使用默认布局,而其余视图使用管理布局?

换句话说,我希望网址单个帖子像"myAppDomain/posts/1"并使用默认布局,
而管理视图应该有/ admin作为前缀并使用管理布局,
如"myAppDomain/admin/posts"," myAppDomain /管理/职位/ 1 /编辑"

现在我已经设置了一条路线,将"添加"/ admin添加到帖子网址

scope "/admin" do
   resources :posts
end
Run Code Online (Sandbox Code Playgroud)

在PostsController中,我指定使用admin布局

class PostsController < ApplicationController
   before_filter :authorize , :except => [:show]
   layout 'admin'
   ...
Run Code Online (Sandbox Code Playgroud)

所以现在人们可以在不登录的情况下阅读帖子,但是我欢迎页面上单个帖子视图的链接呈现为"myAppDomain/admin/posts/1",它使用了admin布局

<%= link_to post.title, post %>
Run Code Online (Sandbox Code Playgroud)

有没有办法在资源的单个视图上使用不同的布局和路由,还是应该采用不同的方法?

ruby-on-rails

5
推荐指数
1
解决办法
3009
查看次数

标签 统计

ruby-on-rails ×1