Обязательный атрибут Rails simple_form (*) - PullRequest
25 голосов
/ 29 сентября 2011

Я использую простую форму в своем приложении, и я хотел бы удалить *, чтобы указать, что атрибут необходим во всех моих формах (существующих и тех, которые еще не созданы).

Я попытался установить в 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 ]

43 голосов
/ 29 сентября 2011

Установка simple_form.required.mask на '' должна работать, если вы перезапустили сервер.

Но вы можете удалить его, изменив конфигурацию:

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

на

config.label_text = proc { |label, required| "#{label}" }
19 голосов
/ 27 января 2013

Вы также можете сделать

simple_form_for @model, :defaults => {:required => false}
6 голосов
/ 31 августа 2014

на Rails 4 просто удалите "обязательное" слово

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

так и должно быть

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

Проверка все еще работает!

0 голосов
/ 20 ноября 2013

просто

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

и перезапустите сервер rails. Тогда это работает.

...