用其他文件夹覆盖布局文件夹路径

时间:2015-10-13 14:35:49

标签: ruby-on-rails ruby layout ruby-on-rails-3.2 views

在Rails应用程序(版本3.2)中,控制器必须根据特定操作中的不同条件使用条件布局。

  def index
   if dp_allowed?
    //use a different layout
   else
     //render diff layout
   end
  end

现在,我尝试使用

  layout :user_layout
   def user_layout
     if dp_allowed?
      "file1"
     else
      "file2"
     end
   end

上面的代码总是希望layouts文件夹之后的路径与layouts文件夹相关。我如何使用app/views/containers/users/_user_detail.html.erb

之类的路径

编辑:

 <div class="app-pane-header">
<div id="title" class="pane-title">
<%= yield :d_title %><%= yield :additional_title %></div>
<%= yield :details %>

在我的情况下,这是file1,如果我只是使用

,它的效果非常好
  layout 'file1'

1 个答案:

答案 0 :(得分:0)

您可以将绝对路径传递给布局。最好相对于Rails.root文件夹执行此操作,以便它可以在本地和生产框中使用。例如

layout File.join(Rails.root, "app/views/containers/users/_user_detail.html.erb")