0

Mac OS X Mountain Lion で Rails 3.2.11 と Ruby 1.9.3 を使用しています。

ユーザーモデルがあり、メッセージという仮想属性を作成しました

attr_accessor :message

私のコードでは、これを試します:

if condition == true
  self.message = "Value is True."
else
  self.message = "Value is not True"

私のコントローラーで、これを試します

def method
  user = User.find(1)
  flash[:message] = user.message
end

しかし、フラッシュメッセージには何も表示されません。ゼロです。モデルに設定した値をコントローラーに渡すにはどうすればよいですか? どうもありがとう!

4

1 に答える 1

3

論理のようです:データベースからオブジェクトを取得するとき、その attr_accessor に何かを含める必要はありません。

あなたの論理に固執すると、あなたはむしろ:

  • attr_accessor を削除します

  • User クラスにメソッドを作成します。

そのようです:

def message 
  if condition
    "Value is True."
  else
    "Value is not True"
  end
end

データとビューを結合していることに注意してください。これはお勧めできません。

于 2013-04-18T10:24:50.797 に答える