验证输入
validates_length_of: 不能为空也不能太长(:maximum=>数字)
validates_uniqueness_of: 不能重复
validates_presence_of: 保证限制的字段不能为空
validates_format_of: 使用正则表达式来匹配输入(:with=>/正则表达式/)
Rails会把用户输在数字字段里面的东西转换成数字,如果你向得到用户的具体输入,你可以使用_before_type_cast来验证
validates_inclusion_of: 检查用户的输入是不是在指定的范围内(:in=>1..5)
:confirm => "message" 能自动实现一个弹出对话框
.modulo(2).nonzero??"A":"B" 除以2以后得到的是不是0?如果问号前面的语句是真,
则返回冒号前面的,否则就返回冒号后面的!
date_select "item", "due_date", :use_month_numbers => true
可以产生日期的选择,不幸的是,它会产生2月31这样的日期,可以用rescue来捕获这个异常:
rescue
flash['notice'] = 'Item could not be saved'
redirect_to :action => 'new'
end
options_from_collection_for_select @categories,"id","category",@item.category_id
options_from_collection_for_select从categories表中读取所有的字段,并且以
[value of category]这样的格式返回,这些
记录将以匹配@item_category_id作为待选择的选项。
由常量创建的下拉框
select "item","priority",[1,2,3,4,5]
创建一个复选框
check_box "item","private"