Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails从控制器渲染部分_Ruby On Rails_Controller_Partial - Fatal编程技术网

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