0
我有下表,我試圖在用戶之間存儲消息。我建立了關係,盡我所能,但我是得到的消息表NameError in Messages#index
uninitialized constant Member::messages
Rails 4.0 - NameError未初始化的Contant - has_many與非常規外鍵的關係
數據庫架構
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
與輔助方法,
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>
這一說法時收到錯誤的ApplicationController什麼可能會導致這個問題。這是一個非常普遍的錯誤,通常意味着我忘記了設置關聯,但是這種關聯是不同的,在這之前,我沒有必要做一個關聯,這超出了默認的命名約定......想法?