让我们说出以下行动'控制器:
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
干净的方法是什么?有可能吗?
答案 0 :(得分: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)