Я просмотрел все сообщения об этой довольно распространенной проблеме в stackoverflow и в другом месте, но я еще не смог найти ответ. По существу моя вложенная форма не строится и поэтому не отображается, когда я показываю страницу.rails 4 has_one вложенные формы, которые не строятся еще
Вот соответствующая часть моего контроллера пользователя, users_controller.rb
:
def new
@user = User.new
@user.build_user_account
end
Вот соответствующий раздел из моего user.rb
файла:
class User < ActiveRecord::Base
has_one :user_account, :class_name => "UserAccount"
accepts_nested_attributes_for :user_account
И мой файл user_account.rb
:
class UserAccount < ActiveRecord::Base
belongs_to :user
end
Адрес: _form.html.erb
fil е:
<div class="field">
<%= f.label :email %><br>
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %><br>
<%= f.text_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br>
<%= f.text_field :password_confirmation %>
</div>
<% f.fields_for :user_account, @user.user_account do |user_account| %>
<div class="field">
<%= user_account.label :email %>
<%= user_account.text_field :email %>
</div>
<div class="field">
<%= user_account.label :password %>
<%= user_account.text_field :password %>
</div>
<div class="field">
<%= user_account.label :password_confirmation %>
<%= user_account.text_field :password_confirmation %>
</div>
<% end %>
первые три показывает, как ожидалось, но все три поля формы для user_account
не отображается. Я пробовал все, что мог найти в Интернете, но я до сих пор не смог решить, в чем проблема - помощь будет оценена!
О, черт возьми, вы правы, теперь это работает! Спасибо большое! – chris
Вам также не нужно объявлять 'class_name' для вашей ассоциации' user_account' –