0

给定一个如下所示的 Ruby on Rails 模型 (db/schema.rb):

create_table "users", :force => true do |t|
    t.string   "name"
    t.string   "email"
    t.string   "other"
  end

users_controller.rb我正在做的事情中:

  def new
    @user = User.new
    @user.email.downcase!
    @user.other = "TEST"
  end

show视图 ( show.html.haml) 中:

User details: 
  %b #{@user.name} + #{@user.email} + #{@user.other}

问题是@user.other根本不显示该值。我的猜测是@user.otheris nil,但我不知道为什么它没有设置为TEST,因为我在new控制器操作中设置了它。

在我的Users模型中,我设置:

attr_accessible :name, :email, :other

有任何想法吗?

谢谢!

4

1 回答 1

3

new并且show动作不同。当您设置某些内容时,new并不意味着它将显示在您的show视图中。如果@user.other = "TEST"create采取行动,那么您肯定会#{@user.other}在您的视野中看到“测试”。

于 2013-07-04T07:43:09.263 回答