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