【发布时间】:2013-04-18 10:19:57
【问题描述】:
我在 Mac OS X Mountain Lion 中使用 Rails 3.2.11 和 Ruby 1.9.3
我有一个用户模型,我创建了一个名为 message 的虚拟属性
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
但 Flash 消息不显示任何内容。是零。如何将我在模型中设置的值传递给控制器?非常感谢!
【问题讨论】:
-
使用实例变量而不是局部变量。实例变量以
@符号为前缀,因此在您的情况下它将是@user而不是user -
不会有什么不同。在我的实际代码中,我使用了实例变量。
-
即使“user”只是一个局部变量,它仍然是一个用户对象,所以它应该仍然具有消息属性。
-
抱歉,问题看错了
标签: ruby-on-rails ruby-on-rails-3