2012-08-23 37 views
0

這是前一個問題,我是能夠解決的延續:Parameters not saving properly (Rails)的Rails:表列返回nil(反應遲鈍)

但現在我已經遇到了一個陌生人的問題。雖然我可以獲取參數以保存,但當我嘗試引用它時,它沒有響應。

的型號:

# == 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 

對象:

#<Message id: 60, content: "foobar123", sender_id: 1, recipient_list: ["1", "2"], created_at: "2012-08-23 06:40:00", updated_at: "2012-08-23 06:40:00">] 

查看:

<%= Message.find_by_id(60).content %> 
<%= Message.find_by_id(60).recipient_list %> 

結果是如預期的內容回報的電話: 「foobar123」 不過,調用recipient_list只返回nil。儘管那裏顯然有價值。我懷疑,recipient_list =(ids)方法可能會覆蓋@ message.recipient_list原本將執行的常規功能。我是否至少在正確的場地?這裏發生了什麼?

attr_reader :recipient_list #necessary for jquery-token-fields 

我認爲你必須將其刪除:

回答

1

你與你的getter在這條線重新定義默認recipient_list方法。那麼一切都應該沒問題。

我不知道你的評論是什麼意思,你的模型有所有表列的getter和setter。

+0

似乎已經完成了。萬分感謝。 –

相關問題