私は子の属性を受け入れる親モデルを持っています。チェックボックスがチェックされていないことを確認します。
class User < ActiveRecord::Base
accepts_nested_attributes_for :spec
attr_accessible :name, :spec_attributes
私は3つのモデルの情報を取得するフォームを持っています。私は一般的なform_tagを使用します。コントローラ
@user = User.find(session[:user_id])
if @user.update_attributes(params[:user])
do something.
end
データベースが更新されつつあり、すべてが動作しているようだで
<% form_tag(action) do %>
.
.
.
<% fields_for "user[spec_attributes]" do |spec_form|%>
<%= spec_form.check_box :alert_greeting %>
<%= spec_form.label :alert_greeting, "Email me when new greetings are posted" %>
<% end %>
<% end %>
。
しかし、再度編集するフォームに戻ると、チェックボックスの値が1になっていても、チェックボックスはオンになっていません。
チェックボックスがオンになっていると表示されるようにチェックボックスを表示する方法に関するアイデアはありますか?
ありがとうございます。
のパラメータの値をチェックして確認オプションを追加して試してみてください: – Ashish
どのようにチェックボックスの値があることを見ているのalert_greeting '1'?これは新しいフォームか、データベースの値が1として保存されているかどうかです。 – naven87
ソースを見ると、値は1ですが、非表示フィールドは0に設定されています。ターミナルとデータベースに格納されます。私はちょうど値= 1の場合、フォームに表示されない理由を理解していない – chell