わかりました、これはすでにどこかにあるはずですが、見つかりません。
simple_form を使用してフォームを作成しています。値が「Price」モデルのメソッド (「simple?」という名前) に基づくダミーのラジオ選択入力を使用しています。メソッドは、いくつかの属性が使用されているかどうかを調べ、使用されている場合は false を返します。このようにして、使用されていない高度な入力をフォームで非表示にすることができます。同じフォームでより多くの価格を作成 (および作成) できるため、メソッドが適切なオブジェクトに接続されるように simple_form を使用したいと考えています。ユーザーが高度なフィールドを再表示できるように、ラジオ ボタン (および JavaScript) を使用します。
問題は、フォームを送信するときです。フォームには :simple? が含まれています。メソッドが送信されますが、これは単なるメソッドであるため、エラーが返されます。
質問: ':simple?' を確認するにはどうすればよいですか? の値はフォームから送信されませんが、正しい値で開始されますか? または、これを行うよりスマートな方法はありますか?
フォーム.haml
= f.input :simple?, as: :radio, label: "Simple price?"
価格.rb
def simple?
true unless advanced?
end
def advanced?
specific_days? || period_id? || description? || begin_time? || end_time?
end
フィードバックをお寄せいただきありがとうございます。