加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 资源的单个视图上的不同布局和路由

发布时间:2020-12-17 03:19:48 所属栏目:百科 来源:网络整理
导读:我是rails的新手,对CMS中的布局和路由有疑问.我在搜索网页后没有遇到过这个问题的答案,所以我希望有人可以帮助我. 我正在构建CMS并且必须布局,application.html.erb(默认)是登录后可用的前公共页面和admin.html.erb. 我有一个名为Post的资源.是否有可能只有s
我是rails的新手,对CMS中的布局和路由有疑问.我在搜索网页后没有遇到过这个问题的答案,所以我希望有人可以帮助我.

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

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

换句话说,我希望网址单个帖子像“myAppDomain / posts / 1”并使用默认布局
管理视图应该有/ admin作为前缀并使用管理布局,
比如“myAppDomain / admin / posts”,“myAppDomain / admin / posts / 1 / edit”

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

scope "/admin" do
   resources :posts
end

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

class PostsController < ApplicationController
   before_filter :authorize,:except => [:show]
   layout 'admin'
   ...

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

<%= link_to post.title,post %>

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

解决方法

只需在操作中指定布局即可

def show
    render :layout => 'application'    
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读