ユーザーのビューの下にネストされた属性があり、ビジネス テーブル内の既存のレコード情報を更新したいのですが、ネストされた属性に値を保存すると、新しいレコードが追加されるだけです。
私はこれを私の見解に持っています
<%= form_for @user, :html => {:multipart => true} do |f| %>
<%= f.text_field :company_name %>
<%= f.fields_for :businesses do |biz| %>
<%= biz.text_field :street %>
<%= biz.text_field :city %>
<%= biz.text_field :zip %>
<% end %>
<% end %>
次に、コントローラーにこれがあります:
def edit
@user = User.find(current_user.id)
@user.businesses.new if @user.businesses.empty?
end
def update
@biz = Business.find_or_create_by_name(params[:user][:company_name])
end
そのため、update メソッドにより、"company_name" (ネストされた属性にはありません) を、 Usersテーブルに加えてBusinessテーブルに保存できます。しかし今、ネストされた属性である番地、都市、および郵便番号を、レコードとともにビジネス レコードに保存したいと考えています。company_name's
ビジネス ID を取得し、その ID に基づいてレコードを更新する必要があると思いますが、方法がわかりません。
次のようなことができますか
def update
@biz = Business.find_or_create_by_name(params[:user][:company_name])
@biz.id #to get the id of the business when updating
end
@biz.id のレコードにこれらの値を保存するにはどうすればよいですか?
ありがとう