【问题标题】:model can save strong params in rails模型可以在rails中保存强大的参数
【发布时间】:2017-11-12 22:03:21
【问题描述】:

我做了一个方法将控制器的参数保存在模型中,但我不能将它们包含在模型中,创建的语法是什么 我用过

在控制器中

Product.create_product(product_params, @user)

在模型中

def self.create_product(params [:name, :portions, :whashed], user)

但是这个方法不保存

【问题讨论】:

    标签: ruby-on-rails parameters model


    【解决方案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
    

    【讨论】:

    • 我将用户用于我需要的其他参数
    【解决方案2】:
          @product = Product.new(product_params)    
       @product.save           
      @kind = Kind.where(user_id: user).last
      @product.update(kind_id: @kind.id)    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多