Использование полей из ассоциации (has_one) модели с formtastic в рельсах - PullRequest
2 голосов
/ 27 марта 2010

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

Мои модели:

class User < ActiveRecord::Base
  has_one :profile
  accepts_nested_attributes_for :profile
end

class Profile < ActiveRecord::Base
  attr_accessible :user_id, :form, :title, :name, :surname, :street, :housenumber, :zipcode, :place, :phone, :mobile, :fax, :url 
  belongs_to :user
end

На мой взгляд:

<% semantic_form_for @user do |form| %>
  <%= form.inputs :login, :email, :password%>
  <% form.semantic_fields_for :profile do |profile| %>
    <%= profile.inputs %>
  <% end %>
  <%= form.buttons %>  
<% end %>

Моя проблема в том, что когда я редактирую человека, он показывает мне данные в профиле. Хотелось бы, чтобы поля из профиля даже при создании пользователя отображались.

Большое спасибо!

1 Ответ

5 голосов
/ 12 апреля 2010

Вы должны добавить в ваше представление перед вашей form.semantic_fields_for:

<% @user.build_profile unless @user.profile %>

Вы также можете сделать это в новом контроллере, после чего создадите свой объект User.

...