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。