Ruby on rails Rails从控制器渲染部分
我正试图从控制器将不同的部分呈现到我的索引视图中,具体取决于我收到的参数。 我的控制器中有一个简单的除非另有条件来检查参数Ruby on rails Rails从控制器渲染部分,ruby-on-rails,controller,partial,Ruby On Rails,Controller,Partial,我正试图从控制器将不同的部分呈现到我的索引视图中,具体取决于我收到的参数。 我的控制器中有一个简单的除非另有条件来检查参数 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放入文件夹布局中/ 现在,如何显
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放入文件夹布局中/
现在,如何显示索引视图中的部分?
目前,我只能将部分单独视为一个视图,但不能在请求的视图中。更好的方法是从index.html.erb调用部分
<% unless params[:check].nil? %>
<%= render :partial => '/layout/check' %>
<% else %>
<%= render :partial => '/layout/not_check' %>
<% end %>
我不明白您试图做什么,但与控制器/操作相关的部分内容不应出现在布局中,除非它们服务于某些布局 如果试图渲染布局(而不是实际视图信息),请尝试使用
将呈现代码放入index.html.erbloyout是视图,但它们有一些常见的UI。通常,所有不同的版面都必须放在app/views/layouts/下。部分检查和部分不检查应该位于您的控制器视图中。请在回答中查看ERB和Ruby。
def index
respond_to do |format|
format.html
end
end
def index
if params[:check].nil?
render layout: "not_check"
else
render layout: "check"
end
end