Ruby on rails formtastic中日期\u助手的默认值
听起来很基本,但我不能将date_helper默认为日期,如:Ruby on rails formtastic中日期\u助手的默认值,ruby-on-rails,formtastic,Ruby On Rails,Formtastic,听起来很基本,但我不能将date_helper默认为日期,如: - semantic_form_for resource do |f| - f.inputs do = f.input :issued_on, :default => Date.today = f.buttons 如果资源没有日期,则上面只显示空白列 如果您能指出我可能做错了什么,我将不胜感激。您可以在控制器上设置对象本身的默认值 def edit @resource = Resource.find(pa
- semantic_form_for resource do |f|
- f.inputs do
= f.input :issued_on, :default => Date.today
= f.buttons
如果资源没有日期,则上面只显示空白列
如果您能指出我可能做错了什么,我将不胜感激。您可以在控制器上设置对象本身的默认值
def edit
@resource = Resource.find(params[:id])
@resource.issued_on ||= Date.today
end
您应该在模型中初始化后定义。如果在模型中定义了after_initialize方法,则会将其作为对new、create、find和生成模型实例的任何其他方法的回调调用 理想情况下,您应该这样定义它:
class resource < ActiveRecord::Base
def after_initialize
@issued_on ||= Date.today
end
...
end
- semantic_form_for resource do |f|
- f.inputs do
= f.input :issued_on
= f.buttons
如果发现未设置这些字段的记录,这也将防止出现零错误。但是,除非您直接在没有ActiveRecord的情况下创建记录,否则不应该发生这种情况 我们最近对Formtastic中的所有:选择、:收音机和:复选框输入实现了一个:选择选项,因此它将在下一个补丁版本(0.9.5)或1.0中出现。在此之前,建议在控制器中创建一个after_initialize或设置默认值是一个很好的建议,但是我确实认为,有时决定默认值的最佳人选是设计师,他们可能对控制器或模型不满意,这就是为什么我们将其作为Formtastic DSL的一部分添加的原因。您可以在模型文件中添加以下内容
def after_initialize
self.start ||= Date.today
self.token ||= SecureRandom.hex(4)
self.active ||= true
end
上述文件已印发
@issued_on ||= Date.today
不适合我我喜欢以下方式
after_initialize :set_issued_on
def set_issued_on
@issued_on||=Date.today
end
稍长一点,但很清晰+1,比我快了几分钟。我认为这种方式是最好的做法。移动默认为控制器,gracias。
:selected
选项现在是,所以我们很快就会回到原点。