1

私がやっていることは非常に単純ですが、検証に失敗したため、レンダリングされるフォームに値が保持されることはありません。私は基本的に、またはのいずれかになるブールフィールドをArticle持つモデルを持っています。 publishedtruefalse

チェックボックスをオフにして初期レンダリング値から値を変更するtrueと、検証に失敗してフォームが再レンダリングさtrueれ、データベースの元の値が表示されます。検証の問題が発生しても最近の変更を保持するにはどうすればよいですか?フォームはこのように再レンダリングされますか? ありがとう

フォームコード:

= form_for @article, :url => article_path do |f|
  = f.text_field :name
  = f.text_field :description
  = f.check_box :published
  = f.submit "Update"

html コード:

<input type="hidden" value="0" name="article[published]">
<input id="article_published" class="pull-left" type="checkbox" value="1" name="article[published]">
4

1 に答える 1

0

published を attr_accessible に追加すると、問題が修正されました。

于 2013-01-03T07:03:11.243 に答える