В рамках изучения ruby / rails я пытаюсь внедрить http://github.com/professionalnerd/simple-private-messages в свое приложение с нуля, а не просто установить плагин.(Я знаю, это доставляет мне неприятности, но это хороший опыт обучения.)
Я создал модель, и ассоциации кажутся нормальными, и я могу создавать новые сообщения в порядке, и они отображаются в почтовом ящике получателей.Но если я щелкаю, чтобы просмотреть одно сообщение (вызывает метод show в контроллере сообщений), оно начинает искать метод с именем read, например.
undefined method `read' for #<Class:0xb6f9ef78>
Куда я должен поместить метод read,В private_messages_extensions.rb (источник плагина) он имеет:
module ClassMethods
# Ensures the passed user is either the sender or the recipient then returns the message.
# If the reader is the recipient and the message has yet not been read, it marks the read_at timestamp.
def read(id, reader)
message = find(id, :conditions => ["sender_id = ? OR recipient_id = ?", reader, reader])
if message.read_at.nil? && reader == message.recipient
message.read_at = Time.now
message.save!
end
message
end
end
module InstanceMethods
# Returns true or false value based on whether the a message has been read by it's recipient.
def read?
self.read_at.nil? ? false : true
end
Какая связь между методами класса и методами Instance в отношении вставки непосредственно в мой собственный контроллер и модель сообщений?Я думал, что вставил
def read(id, reader)
...
end
в модель, но читать?Метод в разделе методов экземпляра кода плагина сбивает меня с толку, и я продолжаю получать сообщение об ошибке при просмотре сообщения.
Помощь приветствуется!