【发布时间】:2011-04-06 02:32:20
【问题描述】:
环境:带有 MySQL 5.0 的 Rails 2.3.11
这是我的幻灯片模型:
class Slideshow < ActiveRecord::Base
validates_presence_of :title, :description
end
使用控制台,如果我运行:
Slideshow.new(:title => "", :description => "").save!
它返回:
Validation failed: Title can't be blank, Description can't be blank
这是正确的。
但是,当我向创建操作提交一个空白 HTML 表单时:
def create
@slideshow = Slideshow.new(params[:slideshow])
if @slideshow.save
redirect_to(...)
else
render(:action => 'new')
end
end
只有:title 字段验证失败。我已经验证了参数中传递的内容是:
Parameters: {"commit"=>"Submit", "slideshow"=>{"title"=>"", "description"=>""}, "action"=>"create", "controller"=>"manage/slideshows"}
为什么描述字段在这里没有通过验证?
谢谢。
【问题讨论】:
-
你如何显示你的验证错误??
-
表单发布后,我使用的是
f.error_messages。
标签: html ruby-on-rails validation forms model