我正在阅读一些 Rails 3 和 4 教程,并遇到了一些我喜欢的一些见解:
关于 Create 操作,Model.new 和 Model.create 之间有什么区别。我以为您确实使用create
控制器中的方法进行保存,例如。@post = Post.create(params[:post])
但看起来我错了。非常感谢任何见解。
使用 Post.new 创建操作
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
@post.save
redirect_to post_path(@post)
end
def post_params
params.require(:post).permit(:title, :body)
end
使用 Post.create 创建动作
def new
@post = Post.new
end
def create
@post = Post.create(post_params)
@post.save
redirect_to post_path(@post)
end
def post_params
params.require(:post).permit(:title, :body)
end
我有两个问题
- 这与 Rails 4 更改有关吗?
- 使用它是不好的做法
@post = Post.create(post_params)
吗?