6

我正在尝试从控制器将不同的部分渲染到我的索引视图中,具体取决于我收到的参数。我的控制器中有一个简单的除非其他条件来检查参数

def index
 unless params[:check].nil?
  render :partial => /layout/check
 else
  render :partial => /layout/not_check
 end
end

我将文件 _check.html.erb 和 not_check.html.erb 放入文件夹 layout/

现在,如何在我的索引视图中显示部分内容?目前,我可以将局部单独可视化为单个视图,但不能在请求的视图内。

4

2 回答 2

4

更好的方法是从 index.html.erb 调用部分

<% unless params[:check].nil? %>
  <%= render :partial => '/layout/check' %>
<% else %>
  <%= render :partial => '/layout/not_check' %>
<% end %>

所以你的 def 索引看起来像这样

def index
  respond_to do |format|
    format.html
  end
end

我不明白您要做什么,但与控制器/动作相关的部分不应出现在布局中,除非它们正在提供某些布局。

于 2013-10-14T12:33:13.507 回答
0

如果您尝试渲染布局(而不是实际的视图信息),请尝试使用渲染布局

def index
  if params[:check].nil?
    render layout: "not_check"
  else
    render layout: "check"
  end
end
于 2013-10-14T12:41:01.897 回答