Rails从控制器渲染部分

par*_*rov 6 controller ruby-on-rails partial

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

def index
 unless params[:check].nil?
  render :partial => /layout/check
 else
  render :partial => /layout/not_check
 end
end
Run Code Online (Sandbox Code Playgroud)

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

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

tec*_*eet 4

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

<% unless params[:check].nil? %>
  <%= render :partial => '/layout/check' %>
<% else %>
  <%= render :partial => '/layout/not_check' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

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

def index
  respond_to do |format|
    format.html
  end
end
Run Code Online (Sandbox Code Playgroud)

我不明白你想要做什么,但与控制器/操作相关的部分不应该在布局中,除非它们提供某些布局。