【发布时间】:2014-12-21 14:31:54
【问题描述】:
我有一个嵌套关联:
class User < ActiveRecord::Base
has_many :hostels
accepts_nested_attributes_for :hostels
end
class Hostel < ActiveRecord::Base
belongs_to :user
end
形式:
<%= form_for @user do |f| %>
<%= f.label :email %><br>
<%= f.text_field :email %>
<% f.object.hostels << @hostel -%>
<%= f.fields_for :hostels do |ff| %>
<%= ff.hidden_field :id %>
<% end -%>
<%= f.submit %>
<% end -%>
控制器
def create
@user = User.new(user_params)
raise @user.hostels.inspect
end
private
def user_params
params.require(:user).permit(:email, hostels_attributes: [:id])
end
我想通过更新旅馆外键将旅馆的现有记录重新链接到新用户。这样一来,肯定行不通。
也尝试将update_only: true 参数嵌套。
关于这个主题的任何想法还是我完全错误地尝试进行这样的操作?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 activerecord nested-forms nested-attributes