【问题标题】:Rails4 // append strong_parameters with other paramsRails4 // 将 strong_parameters 附加到其他参数
【发布时间】:2014-10-22 21:26:15
【问题描述】:

假设以下动作的控制器:

class PostsController < ApplicationController

    def create
        @post = Post.create(post_params)
    end

    private
        def post_params
          params.require(:post).permit(:title, :content)
        end

end

在创建记录时是否有一种单行方式来做这样的事情:

def create
    @post = Post.create(post_params, user_id: current_user.id)
end

什么是干净的方法?有可能吗?

【问题讨论】:

    标签: activerecord ruby-on-rails-4 parameters mass-assignment


    【解决方案1】:

    params是ActionController::Parameters的一个实例,继承自Hash。你可以用它做任何你可以用任何哈希做的事情:

    @post = Post.create(post_params.merge user_id: current_user.id)
    

    或者……

    post_params[:user_id] = current_user.id
    @post = Post.create(post_params)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 2018-12-27
      • 1970-01-01
      • 1970-01-01
      • 2019-07-09
      相关资源
      最近更新 更多