我正在運行Rails 3並喜歡有一個消息系統。下面是它的教程:http://www.novawave.net/public/rails_messaging_tutorial.htmlRails 3:未定義的文件夾方法消息
這是爲Rails 2,所以我想實現它的Rails 3
一切都很好,我可以發送郵件。 但是,當我想檢查我的收件箱此錯誤顯示出來:
undefined method `messages' for #<Folder:0x0000010419fd48>
郵箱控制器:
class MailboxController < ApplicationController
def index
redirect_to new_session_path and return unless logged_in?
@folder = current_user.inbox
show
render :action => "show"
end
def show
@folder ||= current_user.folders.find(params[:id])
@messages = @folder.messages.paginate :per_page => 10, :page => params[:page], :include => :message, :order => "messages.created_at DESC"
end
end
當我檢查與控制檯:
User.find(9).inbox
一切都很好,和輸出爲:
ruby-1.9.2-p180 :085 > User.find(9).inbox
=> #<Folder id: 1, user_id: 9, parent_id: nil, name: "Inbox", created_at: "2011-04-27 21:37:00", updated_at: "2011-04-27 21:37:00">
但是,當我添加.messages它返回錯誤。
當我嘗試獲取信息手冊它的工作:
User.find(9).received_messages
=> [#<MessageCopy id: 7, recipient_id: 9, message_id: 8, folder_id: 1, created_at: nil, updated_at: "2011-04-27 23:15:25">, #<MessageCopy id: 8, recipient_id: 9, message_id: 9, folder_id: 1, created_at: nil, updated_at: "2011-04-27 23:25:06">]
模型&控制器是一樣的教程。
任何想法?
電賀
編輯:
*添加了錯誤,並且查看
錯誤:
undefined method `messages' for #<Folder:0x0000010409c900>
app/controllers/mailbox_controller.rb:11:in `show'
app/controllers/mailbox_controller.rb:5:in `index'
郵箱/顯示視圖:
<h2><%=h @folder.name %></h2>
<table border="1">
<tr>
<th>From</th>
<th>Subject</th>
<th>Received</th>
</tr>
<% @messages.each do |message| %>
<tr>
<td><%=h message.author.login %></td>
<td><%= link_to h(message.subject), message_path(message) %></td>
<td><%= distance_of_time_in_words(message.created_at, Time.now) %> ago</td>
</tr>
<% end %>
</table>
<%= will_paginate @messages %>
發佈完整的錯誤(行號和來自哪裏)以及視圖代碼。 – 2011-04-27 23:56:08
我在第一篇文章中對它進行了編輯。 – Maaaark 2011-04-28 07:03:51