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

ruby-on-rails – 基于URL参数的Rails设置布局

发布时间:2020-12-17 03:55:36 所属栏目:百科 来源:网络整理
导读:所以我试图根据url params改变视图的布局. 到目前为止,我发现我必须在控制器中设置布局.在我的控制器显示动作下我有: if params['iframe'] == 'true' render :layout = 'vendored'end 布局’vendored’存在于视图/布局中.我多次得到可怕的渲染.以下是我的控
所以我试图根据url params改变视图的布局.

到目前为止,我发现我必须在控制器中设置布局.在我的控制器显示动作下我有:

if params['iframe'] == 'true'
  render :layout => 'vendored'
end

布局’vendored’存在于视图/布局中.我多次得到可怕的渲染.以下是我的控制器中其余的show动作:

def show
    @event = Event.find(params[:id])
    @user = current_user
    @approved_employers = current_user.get_employers_approving_event(@event) if user_signed_in?
    respond_with(@event)

问题是我没有看到另一个渲染.我没有在整个控制器中看到另一个.当然,有一个渲染,因为它渲染我的默认应用程序布局,是否导致问题?我在rails文档中读到了我可以添加的内容

and return

到最后,这应该解决问题,但不知道在哪里放,因为两个渲染不是彼此相邻.我也没有看到任何其他redirect_to.我应该在哪里寻找这个其他渲染?那是问题吗?

解决方法

请参阅此 answer.对于您的情况:

before_filter :set_layout,:only => [:show]

  private

  def set_layout
   self.class.layout ( params['iframe'] == 'true' ? 'vendored' :  'application')
  end

(编辑:李大同)

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

    推荐文章
      热点阅读