として引数を使用すると、私の見解ですデータベースをチェックして、ユーザーが以前に自分の年齢を表示するかどうかを確認し、そうであればチェックボックスがチェックされます。そうでなければ、そうではない。今は単にfalseを渡しますが、ヘルパーで "@ user.preferences.age_visible"を書き出すとtrueになります。しかし、もちろん、私は他の属性のためにヘルパーを使用できるようにしたい。Railsはモデル属性ここで
1
A
答えて
0
Davidbの答えは正しいですが、メソッドを動的に呼び出す場合は、send
を使用できます。例えば。あなたのヘルパーをより簡潔にする
@user.preferences.send(:age_visible)
ほんの少しヒント:このようにあなたは、このようなあなたのヘルパーを書き換えることができるように
@user.preferences.send(pref) == "1"
すでに、ブール値を返します。
def checked?(pref)
@user.preferences.send(pref) == "1"
end
1
あなたは追加のヘルパーは必要ありません。データベースにブール値フィールドを作成すると、ActiveRecordsはtrueまたはfalseに設定されているかどうかを問い合わせるメソッドを提供します。試してみてください:
<%= check_box_tag :age_visible, 1, @user.age_visible? %>
+0
トグルする属性ごとに別の列を作成する必要があるため、ブール値フィールドを使用していません。代わりに私は、情報を持つ各ユーザーのための設定の列を持って...私はそれをテストし、@ user.preferences.age_visible == "1"は、ビューで動作しますが、ヘルパーはきれいだ。 – Lee
関連する問題
- 1. Rails 3 ActionMailerモデル属性
- 2. ここ属性
- 3. 属性(オリジナル属性は、ここで定義された)
- 4. Rails:ネストされた属性とモデル?
- 5. Rails - 派生属性はどこで計算しますか?
- 6. アクティブ管理者は、私はこのモデルが属性を持っているモデル
- 7. Rails to pass:モデルからモデルへのdatetime属性
- 8. Railsモデルで仮想属性を自動的に返すことは可能ですか?
- 9. モデル属性が
- 10. Ruby - ここでの属性定義はどこですか?
- 11. 属性は、 'フォールスルー' は、この文脈で
- 12. は、私は私のモデルでは、このDateTimeの属性を持つデータ注釈
- 13. Rails 3.1はモデル属性名を翻訳します
- 14. 私は属性XとRailsのモデルを持っているランタイム
- 15. Rails - 親モデルは、それに属するモデルの属性値を検証できますか?私のアプリで
- 16. Yii2 //モデルのモデルの属性
- 17. Railsの属性
- 18. Backbone.jsモデルの従属属性
- 19. Railsの - 参加モデルでレコードを作成するが、属性
- 20. Railsモデルの属性が0でないと思われる
- 21. Railsでのモデル属性の遅延設定?
- 22. Railsでリンクされたモデルの属性にアクセスする
- 23. HTML属性へのMVCモデル属性
- 24. FactoryGirlはRailsのモデルの時刻属性のスキーマとActiveRecordのモデルを考える
- 25. Rails 3のモデルで特定の列を異なるモデル属性にマッピングする
- 26. Railsでモデル内の関連モデルの属性を取得する方法
- 27. Rails:XMLのモデル属性
- 28. 倉庫属性モデル
- 29. 仮想属性スコープでRailsモデル属性の一意性を検証する方法
- 30. ここでこの1つの属性は、ルビクラスの複数の属性を保持していますか?
迅速な答えをありがとう。まさに私が探していたもの。 – Lee
@Lee、実際に私は以下のDavidbの答えが良いと思います。 – Mischa
下記の返信を参照してください...私は各属性に別々の列を使用していませんが、OpenStructを使用して環境設定列を使用しています。 – Lee