首先,我看了Railscast #196和Railscast #197。
我还阅读了this和许多其他类似的问题。
我收到以下错误:
Missing partial profils/compagny_fields, application/compagny_fields with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:
* "/home/me/www/Myapp/app/views"
这似乎不是部分问题,因为我可以从我的部分看到puts
。
所以在我的模特上我有:
CompagnyModel:belongs_to:profil`
ProfilModel:has_many:compagnies,accepts_nested_attributes_for:compagnies
在我的观点中,我有:
<%= p.label:firstname,“firstname”%> <%= p.text_field:firstname%>
<%= p.label:lastname,“lastname”%> <%= p.text_field:lastname%>
<%= p.fields_for :compagnies do |n| %>
<%= render 'compagnies_fields', :c => n %> <% end %>
<%= link_to_add_fields "Add Compagny", p, :compagnies %> <% end %>
&lt;%= f.submit“save” %GT;
最后,这是我的部分:
<p class="fields">
<%= c.label :name, "Compagny"%><br />
<%= c.text_field :name %><br />
<%= link_to_remove_fields "remove", c %><br />
<% puts "-----!-!-!-!-!-!-!-!-DEBUG-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!------" %>
</p>
答案 0 :(得分:0)
是
上的单引号CompagnyModel: belongs_to :profil`
在实际的模型文件中?
调用的部分表单是保存在“profils / _compagny_fields.html.erb”还是“compagnies / _compagny_fields.html.erb”中?
<%= p.fields_for :compagnies do |n| %>
<%= render 'compagny_fields', :c => n %>
<% end %>
尝试在控制台中构建Profil.Compagnies模型以检查它是否有效
new_profil = Profil.new
new_profil.compagnies.build
在Profil_Controller中,我认为它有一个变量@profil = Profil.new?
@profil = Profil.new
@profil.compagnies.build
views / profil / new.html.erb(或者views / profil / _form.html.erb,如果你以这种方式做表格)是否有表格
<%= form_for(@profil) do |p| %>
答案 1 :(得分:0)
我有同样的错误。您将部分“compagny_fields”命名为“compagnies_fields”,但您想渲染“compagnies_fields”。这是我的问题,也许是你的问题。
答案 2 :(得分:0)
我通过更改此
解决了这个问题render(association.to_s.singularize + "_fields", :f => builder)
到这个
render(association.to_s , :f => builder)