Tôi đang trải qua một vài Rails 3 và 4 hướng dẫn và đi qua một cái gì đó tôi rất thích một số hiểu biết về:Rails điều khiển tạo ra sự khác biệt giữa hành động và Model.new Model.create
sự khác biệt giữa mô hình là gì .new và Model.create liên quan đến hành động Tạo. Tôi nghĩ bạn sử dụng phương pháp create
trong bộ điều khiển để tiết kiệm ví dụ. @post = Post.create(params[:post])
nhưng có vẻ như tôi bị nhầm lẫn. Bất kỳ cái nhìn sâu sắc nào được đánh giá cao.
Tạo hành động sử dụng 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
Tạo hành động sử dụng 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
Tôi có hai câu hỏi
- này để làm với một Rails 4 thay đổi là?
- Thực tiễn không tốt là sử dụng
@post = Post.create(post_params)
?
thể trùng lặp của [Rails mới vs tạo] (http://stackoverflow.com/questions/2472393/rails-new-vs-create) – Amadan
Cảm ơn bạn đã tham khảo Amadan. Rails REST có thực thi 'GET' và' POST' giống như các hành động điều khiển 'new' và' create' không? Tôi đang cố gắng để làm rõ hành động REST vs điều khiển vs phương pháp điều khiển. –
Xin lỗi, tôi nên làm rõ; câu trả lời của Justin Ethier đặc biệt đề cập đến các phương thức ActiveRecord. – Amadan