0

ユーザーのビューの下にネストされた属性があり、ビジネス テーブル内の既存のレコード情報を更新したいのですが、ネストされた属性に値を保存すると、新しいレコードが追加されるだけです。

私はこれを私の見解に持っています

<%= 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 のレコードにこれらの値を保存するにはどうすればよいですか?

ありがとう

4

1 に答える 1