我在公司和其他模特之间有一个联合表,比如工作,地点,人员
_companies.html.erb
<% if company.companylogo %>
<%= link_to (image_tag(company.companylogo.url(:medium), :class => "fw img-responsive", :alt =>"company logo")), company_path(company) %>
<% else %>
<%= link_to (image_tag("http://via.placeholder.com/405x285", :class => "fw img-responsive", :alt =>"company logo")), company_path(company) %>
<% end %>
<p <%= link_to truncate(company.name, :length => 20), company_path(company), :class => "" %> </p>
在job / index.html.erb中的我可以通过
呈现上述公司的所有内容<%= render job.companies if job.companies.present? %>
显示母公司徽标和公司名称。
现在我想通过创建另一个部分来将公司名称与徽标分开: _seperatename.html.erb
**<p <%= link_to truncate(company.name, :length => 20), company_path(company), :class => "" %> </p>**
我的问题是,在job / index.html.erb中,如何呈现_seperatename.html.erb?
我试过&lt;%= render'公司/ seperatename'%&gt;
它抛出错误 ActionView :: Template ::错误在/ jobs 未定义的局部变量或方法`company'for#&lt;#:0x007f99b6b239f8&gt;
但是,如果我用正常文本替换_seperatename.html.erb中的ruby内容,它会呈现没有错误
答案 0 :(得分:1)
您应该将变量传递给部分:
<%= render partial: 'companies/seperatename', locals: {company: @company} %>
文档:http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials