Невозможно использовать метод link_to_add_fields из вложенной модели Railscast # 196 / # 197 - PullRequest
0 голосов
/ 14 февраля 2012

Прежде всего, я смотрел Railscast # 196 и Railscast # 197 .

Я также прочитал это и многие другиепохожие вопросы.

Я получаю следующую ошибку:

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: own_to: profil`

ProfilModel: has_many: compagnies, accepts_nested_attributes_for: compagnies

В моем представлении у меня есть:

<% = p.label: имя, «имя»%> <% = p.text_field: firstname%>

<% = p.label: фамилия, "фамилия"%> <% = p.text_field: фамилия%>

<%= p.fields_for :compagnies do |n| %>
   <%= render 'compagnies_fields', :c => n %>
<% end %>
<%= link_to_add_fields "Add Compagny", p, :compagnies %> 
<% end %>

<% = f.submit "save"%>

Наконец, вот мой фрагмент:

<p class="fields">
  <%= c.label :name, "Compagny"%><br />
  <%= c.text_field :name %><br />
  <%= link_to_remove_fields "remove", c %><br />
  <% puts "-----!-!-!-!-!-!-!-!-DEBUG-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!------" %>   
</p>

Ответы [ 3 ]

0 голосов
/ 15 февраля 2012

У меня была такая же ошибка.Вы назвали свои частичные "compagny_fields", но хотите отобразить "compagnies_fields".Это была моя проблема, может, она и твоя тоже.

0 голосов
/ 23 января 2013

Я решил это, изменив это

render(association.to_s.singularize + "_fields", :f => builder)

к этому

render(association.to_s , :f => builder)
0 голосов
/ 14 февраля 2012

Эта одинарная кавычка

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| %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...