Rails:表列返回nil(无响应)

这是我能够解决的先前问题的延续: 参数未正确保存(Rails)

但现在我遇到了一个陌生人的问题。 虽然我可以获取要保存的参数,但是当我尝试引用它时它没有响应。

该模型:

# == Schema Information # # Table name: messages # # id :integer not null, primary key # content :text # sender_id :integer # recipient_list :text # created_at :datetime not null # updated_at :datetime not null # class Message < ActiveRecord::Base attr_accessible :content, :sender_id, :recipient_list attr_reader :recipient_list #necessary for jquery-token-fields serialize :recipient_list, Array validates :content, presence: true validates :sender_id, presence: true def recipient_list=(ids) #necessary for jquery-token-fields recipient_list = ids.split(",") super(recipient_list) end end 

宾语:

 #] 

视图:

   

结果是对内容的调用按预期返回:“foobar123”但是,​​对recipient_list的调用仅返回nil。 尽管那里显然有价值。 我怀疑recipient_list =(ids)方法可能会覆盖@ message.recipient_list否则会执行的常规function。 我至少在正确的球场吗? 这里发生了什么?

您在此行上使用getter重新定义了默认的recipient_list方法:

 attr_reader :recipient_list #necessary for jquery-token-fields 

我想你必须删除它。 那一切都应该没问题。

我不知道你的评论是什么意思,你的模型有所有表列的getter和setter。