Rails 3 と Rails 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
2つの質問があります
- これはRails 4の変更に関係していますか?
- を使用するのは悪い習慣
@post = Post.create(post_params)
ですか?