ROR новичок здесь. : -)
Я использую Devise для аутентификации и добавил first_name и last_name в модель User, созданную devise. Я также создал модель адреса:
create_table: адреса делают | t |
t.string: line1
t.string: line2
t.string: город
t.string: состояние
t.integer: addressable_id
t.string: addressable_type
t.timestamps
end
add_index :addresses, [:addressable_type, :addressable_id], :unique => true
конец
частичное в views / shared / _address.html.erb
user.rb
has_one: address,: as =>: адресуемый
# Включить модули разработки по умолчанию. Другие доступные:
#: token_authenticatable,: encryptable,: подтвердимый,: блокируемый,: timeoutable и: omniauthable
devise: database_authenticatable,: registerable,
: извлекаемый,: запоминаемый,: отслеживаемый,: проверяемый
# Настройка доступных (или защищенных) атрибутов для вашей модели
attr_accessible: электронная почта,: пароль,: подтверждение пароля,: Remember_me,: имя,: фамилия
attr_accessible: address_attributes
accept_nested_attributes_for: address,: update_only => true
добавил следующие строки в views / devise / registrations / new.html.erb и edit.html.erb
<% f.fields_for: address do | address |%>
<% = render: частичный => «общий доступ / адрес»,: locals => {: f => адрес}%>
<% end%>
<% end%>
<% f.fields_for: address do | address |%>
<% = рендер: частичный => «общий доступ / адрес»,: locals => {: f => адрес}%>
<% end%>
<% end%>
Теперь я хочу, чтобы Devise создал адрес при регистрации нового пользователя. И пользователь может заполнить адрес после входа в систему. Видимо, что-то не хватает, или я делаю это неправильно. Поля адреса не отображаются при входе в систему и не редактируются.
Пожалуйста, поделитесь своей мудростью. Заранее спасибо.