【发布时间】:2012-02-20 11:40:34
【问题描述】:
我有两个具有token 字段的模型。它们被称为Ticket 和Message。
我的票模型看起来像这样。
class Ticket < ActiveRecord::Base
include UUIDHelper
has_many :messages, :primary_key => "token", :foreign_key => "token"
end
现在我正在从这样的 rake 任务中创建一条新消息。
new_message = Message.new
new_message.token = uuid
new_message.save
我的令牌被保存到消息中,但随后它从票证中返回一组空消息,就像这样
@ticket.messages
我认为我的票证模型不太正确。
【问题讨论】:
-
Ticket.messages没有任何意义。Ticket是模型类。你不能打电话给messages;你只能在类的实例上调用它。 -
如果将
:class_name => 'Message'添加到has_many会怎样? -
对不起@BenLee 我刚刚修正了错字
-
@JosephLeBrech,您应该确认
@ticket.token == uuid。 -
另外,当您说“无法加载集合”时,也许您应该更清楚您的意思——它是否返回一个空集?运行时错误?还有什么?
标签: ruby-on-rails foreign-keys primary-key models