聯繫主控制器:不保存在USER_ID嵌套屬性連接表
def new
@admin = Admin.new
@invitation = @admin.invitations.build
@admi.user_admin_relationships.build
end
def create
params[:invitation][:sender_id] = current_user.id
@admin = Admin.new(params[:admin])
if @admin.save
redirect_to root_path
else
render 'new'
end
end
邀請型號
belongs_to :admin
belongs_to :user
管理模式
has_many :invitations
has_many :user_admin_relationships
has_many :users, :through => :user_admin_relationships
accepts_nested_attributes_for :invitations
accepts_nested_attributes_for :user_admin_relationships, :allow_destroy => true
用戶模型
has_many :invitations
has_many :user_admin_relationships
has_many :admins, :through => :user_admin_relationships
我的表格嵌套形式,它工作正常節省每形式和項目,如created_at
和sent_at
領域。 但是,它不保存user_id
(user_admin連接表)和sender_id
(邀請表)。
我嘗試添加不同的排列到管理控制器,但沒有任何工作。
東西不起作用:
params[:invitation][:sender_id] = current_user.id
這給了我,我有一個nil對象時,我沒想到它的錯誤。
params[:invitation].merge!(:sender_id = current_user.id)
這給我一個「錯誤的語法錯誤」
@admin.invitations.build(params[:invitation][:sender_id]) = current_user.id
這給了我意想不到的「=」和「期望關鍵字結束」錯誤
我已經嘗試了一堆其他的不同排列的以及。我的社團有什麼問題嗎?我如何更新邀請表中的sender_id
和豐富加入user_admin_relationship表中的user_id
?我知道我可以通過hidden_field
這樣做,但是聽說它不安全,所以我不想這樣做。
如若 「USER_ID」 來自當前用戶? –
'sender_id'應該是'user_id',它是當前用戶。 – noob