Я пытаюсь добавить адреса в модель пользователя с помощью отправки формы, но у меня возникли проблемы. Пользователь:
class User < ActiveRecord::Base
has_many :addresses
end
может добавить адрес к своей учетной записи через страницу учетных записей, которая контролируется контроллером учетных записей.
class AccountsController < ApplicationController
def addresses
@user = current_user
@addresses = @user.addresses
default_country = Country.find Spree::Config[:default_country_id]
@countries = Checkout.countries.sort
@states = default_country.states.sort
end
end
В представлении "/ account / address" у меня есть форма, которую я пытаюсь отправить:
<% form_for @user do |user_form| %>
<% user_form.fields_for :address do |address_form| %>
<%= address_form.text_field :firstname, :class => 'required', :value=>"" -%>
<%= address_form.text_field :lastname, :class => 'required', :value=>"" -%>
<%= address_form.text_field :business_name, :class => 'required', :value=>"" -%>
<%= address_form.text_field :address1, :class => 'required', :value=>"" -%>
<%= address_form.text_field :address2, :value=>"" %>
<%= address_form.text_field :city, :class => 'required', :value=>"" -%>
...
<%= address_form.submit %>
<% end -%>
<% end %>
Я смотрю на код поля «один ко многим» здесь:
http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-fields_for
но проблема в том, что у меня несколько адресов, но я хочу отправить только один адрес за раз. Что мне нужно добавить к модели пользователя / адреса и / или контроллера учетных записей, чтобы я мог успешно создать адрес и добавить его в модель пользователя при отправке этой формы? Если есть более простой способ сделать это, пожалуйста, дайте мне знать.