我有下表,我试图在其中存储用户之间的消息。我已经尽我所能建立了关系,但我得到了一个NameError in Messages#index
uninitialized constant Member::messages
消息表的数据库模式
create_table "messages", force: true do |t|
t.datetime "created_at"
t.datetime "updated_at"
t.text "message", null: false
t.boolean "read", null: false
t.integer "from_id", null: false
t.integer "to_id", null: false
end
会员型号
class Member < ActiveRecord::Base
has_many :received_messages, :class_name => :messages, :foreign_key => "to_id"
end
消息模型
class Message < ActiveRecord::Base
belongs_to :member
end
带有辅助方法的 ApplicationController
class ApplicationController < ActionController::Base
helper_method :unread_messages
def unread_messages
@unread_messages ||= current_user.received_messages.where(:unread => true) unless current_user.received_messages.nil?
end
end
我在 aplication.html.erb 布局模板中收到此语句期间的错误
<span class="badge"><%= unread_messages.count %></span>
什么可能导致这个问题。这是一个非常普遍的错误,通常意味着我忘记设置关联,但是这个关联是不同的,在此之前我不必做一个超出默认命名约定的操作......想法?