我以爲我在之前的文章中已經解決了這個問題,但是我仍然爲此付出了努力。 在我的Rails應用程序中,我試圖讓用戶能夠在應用程序中發送消息(不通過電子郵件)。我使用的鐵軌3.2.8和紅寶石1.9.3p194從一個用戶發送消息到另一個
消息belongs_to的:用戶
用戶的has_many:消息
這是我在我的消息模型
def self.send_message(from, recipient)
recipient do |recipient|
msg = self.clone
msg.sent = false
msg.user_id = recipient
msg.save
end
self.update_attributes :user_id => from.id, :sent => true
end
發送消息的方法
我試圖做測試這種在軌控制檯: Message.send_message(U2,U)
,其中U2 = User.find(1)& U = User.find(2)
我不斷收到錯誤NoMethodError:未定義的方法`收件人爲#
我在做什麼錯?如何正確地向用戶發送來自其他用戶的消息。
如果有人有更好的方法,我願意接受任何策略。
幾個問題1)如果你做'Message.send_message(u2,u)'所以我認爲'recepient'是'在那裏2)msg = self.clone msg.sent在一個類方法將給類msg.sent msg.user_id和msg.save對類對象ie味精我覺得它應該響應類的實例方法不知道這樣做糾正我,如果我錯了 – Viren
@Viren我不知道我完全理解你的問題,我是相當新的編碼。我一直在回答這個問題http://stackoverflow.com/questions/5141564/model-users-message-in-rails-3希望澄清一些事情。 – DaveG
你需要像[this]這樣的結構(http://pastie.org/5355281)請忽略一些'TYPO'錯誤 – Viren