我有一个具有管理员模型的 Rails 应用程序,其中包含许多用户和用户has_and_belongs_to_many
材料。问题是对于特定用户(例如user/show/2
),我在该页面上有一个表单,可以发布到材料create
操作。在创建操作中,这是我想要做的
def create
@material = @user.materials.create(material_params)
end
但是,它不起作用,因为@user
is nil
。这需要通过users_materials
表格将材料与用户关联(因为has_and_belongs_to_many
关联)。那么,我将如何从用户页面 ( user/show/:id
) 定义材料并能够为该用户定义材料?在 Rails 中执行此操作的好方法是什么?