Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 4 Rails 4:局部w/本地人在一个地方工作,但在另一个地方不工作…为什么?_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 4 Rails 4:局部w/本地人在一个地方工作,但在另一个地方不工作…为什么?

Ruby on rails 4 Rails 4:局部w/本地人在一个地方工作,但在另一个地方不工作…为什么?,ruby-on-rails-4,Ruby On Rails 4,如何修复 正确呈现作业 <% # jobs/_job.html.erb %> <% # jobs/index.html.erb %> <% # @jobs set in jobs#index %> <%= render partial: 'jobs/job', locals: { jobs: @jobs } %> \u作业应仅呈现单个作业实例的HTML视图 使用render partial: 对于在views/object\u name/\u

如何修复

正确呈现作业

<% # jobs/_job.html.erb %>
<% # jobs/index.html.erb %>
<% # @jobs set in jobs#index %>

<%= render partial: 'jobs/job', locals: { jobs: @jobs } %>

\u作业应仅呈现单个作业实例的HTML视图

使用
render partial:

对于在
views/object\u name/\u partial\u name.html.erb
中定义的分部,变量名
partial\u name
是特殊的,因为它被认为是视图关注的主要对象

换句话说

jobs/_job.html.erb

<% do_something_with(job) 
# NOT @job nor @jobs nor jobs
# The partial name is _job.html.erb => use the variable `job`
%>
<%= render partial: 'jobs/job', collection: @jobs
# This is going to render the partial as many times as there are job in @jobs
%>
<%= @jobs.each do |job|
  render 'jobs/job', locals: { job: job } 
%>
OR
<%= @jobs.each do |job|
  render partial: `jobs/job`, object: job 
%>
OR
<%= render partial: `jobs/job`, collection: @jobs %>
OR
<%= render @jobs %>
参见解释+示例

每个分部还有一个与分部同名的局部变量(减去下划线)。可以通过:object选项将对象传递到此局部变量:

简言之,以下选项将起作用(在文档上滚动更多内容以了解第三个和第四个选项的说明)

users/show.html.erb

<% do_something_with(job) 
# NOT @job nor @jobs nor jobs
# The partial name is _job.html.erb => use the variable `job`
%>
<%= render partial: 'jobs/job', collection: @jobs
# This is going to render the partial as many times as there are job in @jobs
%>
<%= @jobs.each do |job|
  render 'jobs/job', locals: { job: job } 
%>
OR
<%= @jobs.each do |job|
  render partial: `jobs/job`, object: job 
%>
OR
<%= render partial: `jobs/job`, collection: @jobs %>
OR
<%= render @jobs %>

或
或
或

\u作业应该只呈现单个作业实例的HTML视图

使用
render partial:

对于在
views/object\u name/\u partial\u name.html.erb
中定义的分部,变量名
partial\u name
是特殊的,因为它被认为是视图关注的主要对象

换句话说

jobs/_job.html.erb

<% do_something_with(job) 
# NOT @job nor @jobs nor jobs
# The partial name is _job.html.erb => use the variable `job`
%>
<%= render partial: 'jobs/job', collection: @jobs
# This is going to render the partial as many times as there are job in @jobs
%>
<%= @jobs.each do |job|
  render 'jobs/job', locals: { job: job } 
%>
OR
<%= @jobs.each do |job|
  render partial: `jobs/job`, object: job 
%>
OR
<%= render partial: `jobs/job`, collection: @jobs %>
OR
<%= render @jobs %>
参见解释+示例

每个分部还有一个与分部同名的局部变量(减去下划线)。可以通过:object选项将对象传递到此局部变量:

简言之,以下选项将起作用(在文档上滚动更多内容以了解第三个和第四个选项的说明)

users/show.html.erb

<% do_something_with(job) 
# NOT @job nor @jobs nor jobs
# The partial name is _job.html.erb => use the variable `job`
%>
<%= render partial: 'jobs/job', collection: @jobs
# This is going to render the partial as many times as there are job in @jobs
%>
<%= @jobs.each do |job|
  render 'jobs/job', locals: { job: job } 
%>
OR
<%= @jobs.each do |job|
  render partial: `jobs/job`, object: job 
%>
OR
<%= render partial: `jobs/job`, collection: @jobs %>
OR
<%= render @jobs %>

或
或
或

是否有任何错误?在
users@show
@jobs
可以设置,但它是有效的作业吗?还是空白?@wesforter:valid jobs(jobs index.html.erb中的jobs呈现与预期一致,users show.html.erb中没有呈现任何内容)是否有任何错误?
users@show
@jobs
可以设置,但它是有效的作业吗?还是空白?@wesforter:valid jobs(jobs在jobs index.html.erb中按预期呈现,在users show.html.erb中没有呈现)感谢您的回复。编辑了我的代码和问题以反映您的建议,但仍然没有在users show.html.erb中看到任何内容您不应该在部分
\u job.html.erb
中使用
@jobs
。我将我的帖子编辑为ClarifyJob,它应该只呈现单个job实例的HTML视图。如果你需要做更复杂的事情(在我给出的链接中),你可以看看
间隔模板
集合部分布局
,你最后的评论就是答案(足够接近)。我试图使用一个partial来呈现job对象的多个实例,这显然使情况变得比需要的更混乱。编辑并接受。谢谢。很酷,很高兴我能帮上忙。我还对自己做了最后一次编辑来修复一段糟糕的代码^^“谢谢你的答复。编辑了我的代码和问题以反映您的建议,但仍然没有在users show.html.erb中看到任何内容您不应该在部分
\u job.html.erb
中使用
@jobs
。我将我的帖子编辑为ClarifyJob,它应该只呈现单个job实例的HTML视图。如果你需要做更复杂的事情(在我给出的链接中),你可以看看
间隔模板
集合部分布局
,你最后的评论就是答案(足够接近)。我试图使用一个partial来呈现job对象的多个实例,这显然使情况变得比需要的更混乱。编辑并接受。谢谢。很酷,很高兴我能帮上忙。我还对自己做了最后一次编辑,以修复一段错误代码^”