def create
msg = current_user.msgs.build(params[:msg])
msg.message = msg.message
msg.created_at = Time.now # HACK
if msg.save
else
flash[:error] = "Your article must contain some text."
end
redirect_to root_path
end
这是我保存邮件的控制器代码,在我尝试rails g migration add_anonymous_to_msg anonymous:boolean
和rake db:migrate
之前它已经运行了现在我收到错误“您的文章必须包含一些文字”这意味着邮件不再存在保存或文本无法识别。我尝试删除列和我的schema.rb说它不再存在,但错误仍然存在。
有谁知道可能是什么问题?感谢
答案 0 :(得分:1)
怎么样:
def create
@message = current_user.messages.build(params[:message])
unless @message.save
flash[:error] = "Your article must contain some text."
end
redirect_to root_path
end
删除空if块的需要。
答案 1 :(得分:0)
我真的认为需要重写你的控制器,它很难读,并且你需要很多代码。尝试这样的事情:
def create
@message = Message.new(params[:message])
if @message.save
else
flash[:error] = "Your article must contain some text."
end
redirect_to root_path
end
其次,提交表单时,日志中很可能会出现错误消息。你有机会发帖吗?
答案 2 :(得分:0)
你真的需要改变这一行
flash[:error] = "Your article must contain some text."
到
flash[:error] = msg.errors.full_message
从错误消息中你会知道究竟是什么问题。