26

我在我的应用程序中使用简单表单,我想删除*以指示我的所有表单(现有的和尚未创建的)都需要一个属性。

我试图设置simple_form.rb

  # Whether attributes are required by default (or not). Default is true.
  config.required_by_default = false

我试图修改simple_form.en.yml

   required:
      text: 'required'
      mark: ''  # <------ tried setting this to blank.

我知道我可以:required => false在每个字段上进行设置,但我想清理视图并设置一次。

4

4 回答 4

43

如果您重新启动服务器,设置simple_form.required.maskto应该可以工作。''

但是您可以通过更改配置将其删除:

# config.label_text = proc { |label, required| "#{required} #{label}" }

config.label_text = proc { |label, required| "#{label}" }
于 2011-09-29T12:54:24.567 回答
19

你也可以做

simple_form_for @model, :defaults => {:required => false}
于 2013-01-26T22:33:41.370 回答
6

在 Rails 4 上只需删除“必需”字样

 config.label_text = lambda { |label, required, explicit_label| "#{required} #{label}" }

所以应该是

config.label_text = lambda { |label, required, explicit_label| "#{} #{label}" }

验证仍然有效!

于 2014-08-31T00:32:14.307 回答
0

只是

# Whether attributes are required by default (or not). Default is true. config.required_by_default = false

并重新启动您的 Rails 服务器。然后它工作。

于 2013-11-20T02:47:55.163 回答