我有一个典型的 Post 模型:
class Post< ActiveRecord::Base
validates_presence_of :user_id #Line 1
validates_presence_of :title,:body #Line 2
在控制器中,我有:
def create
if request.post?
if login_required
@post = Post.new(params[:post]) #Line 3
@post .update_attribute("user_id",session[:userid]) #Line 4
但是,如果第 2 行的验证失败,则仍将创建 Post,除非第 4 行被注释掉。
1)为什么?
2)关于修复的建议?
谢谢