我创建了一个方法来保存模型中控制器的参数,但我不能将它们包含在模型中,创建的语法是什么 我用了
在控制器中
Product.create_product(product_params, @user)
并在模型中
def self.create_product(params [:name, :portions, :whashed], user)
但这种方法不能保存
答案 0 :(得分:1)
您可以使用以下代码执行此操作:
在控制器中:
product = Product.new(product_params) #product_params is a function that return a hash with details of product
product.user = @user # or current_user if you are using Devise gem
product.save!
如果你想按自己的方式去做,那么你可以试试这个
在产品型号中
def self.create_product(product_params,user)
product = Product.new(product_params)
product.user = user
product.save!
end
在控制器中:
def create #Method corresponding to your action
Product.create_product(product_params, @user)
end
private
def product_params
params.require(:product).permit(:name, :portions, :whashed) #Assuming you are using form_for tag
end
答案 1 :(得分:0)
@product = Product.new(product_params)
@product.save
@kind = Kind.where(user_id: user).last
@product.update(kind_id: @kind.id)