创建current_user
时,我需要为user_id
传递entity
。它的工作方式与我不同。
def create
@entity = Entity.new(entity_params, :user_id = current_user)
...
end
在Schema中,:user_id
为Entity
表的整数。我在belongs_to :user
models/entity.rb
个关联
答案 0 :(得分:2)
new
接受参数哈希,因此它应该与:
@entity = Entity.new(entity_params.merge(user: current_user))
另一种方式是
@entity = Entity.new(entity_params).tap do |entity|
entity.user = current_user
end
答案 1 :(得分:1)
更好的方法:
#app/controllers/entities_controller.rb
class EntitiesController < ApplicationController
def create
@entity = current_user.entities.new entity_params
@entity.save
end
end
答案 2 :(得分:1)
您也可以尝试:
def create
@entity = current_user.entities.create(entity_params)
end