として引数を使用すると、私の見解ですデータベースをチェックして、ユーザーが以前に自分の年齢を表示するかどうかを確認し、そうであればチェックボックスがチェックされます。そうでなければ、そうではない。今は単に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. Rails:ネストされた属性とモデル?
- 4. Rails - 派生属性はどこで計算しますか?
- 5. アクティブ管理者は、私はこのモデルが属性を持っているモデル
- 6. モデル属性が
- 7. Ruby - ここでの属性定義はどこですか?
- 8. Backbone.jsモデルの従属属性
- 9. は、私は私のモデルでは、このDateTimeの属性を持つデータ注釈
- 10. HTML属性へのMVCモデル属性
- 11. Rails 3.1はモデル属性名を翻訳します
- 12. 私は属性XとRailsのモデルを持っているランタイム
- 13. 倉庫属性モデル
- 14. Rails:XMLのモデル属性
- 15. Railsでのモデル属性の遅延設定?
- 16. Railsの - 参加モデルでレコードを作成するが、属性
- 17. Railsモデルの属性が0でないと思われる
- 18. Railsでリンクされたモデルの属性にアクセスする
- 19. Railsの属性
- 20. Rails 3のモデルで特定の列を異なるモデル属性にマッピングする
- 21. Railsでモデル内の関連モデルの属性を取得する方法
- 22. numpyのはAttributeError:「フロート」オブジェクトは、ここで何の属性「EXP」
- 23. 仮想属性スコープでRailsモデル属性の一意性を検証する方法
- 24. Rails:モデルからの一意性検証で属性のリストを取得する
- 25. AngularJS:チェックするチェックボックス内の属性は、ここで
- 26. Rails collection_selectカスタムネーム属性
- 27. Railsの - データ - *属性
- 28. Magentoの属性コードで属性モデルを取得
- 29. `attr_accessor`のないrailsモデルの非データベース属性を設定する
- 30. Ruby on Rails:足場、モデル、および属性
迅速な答えをありがとう。まさに私が探していたもの。 – Lee
@Lee、実際に私は以下のDavidbの答えが良いと思います。 – Mischa
下記の返信を参照してください...私は各属性に別々の列を使用していませんが、OpenStructを使用して環境設定列を使用しています。 – Lee