Ruby on Rails:两个对同一模型具有不同名称的引用

ph3*_*3nx 5 ruby database ruby-on-rails reference

我的应用程序有一个名为模型User(它包括的电子邮件地址,用户名..)我想创建一个模型,Message它应该有两个字段senderrecipient.两者都是对User模型的引用.我试过这个:

rails generate model Message sender:references recipient:references
Run Code Online (Sandbox Code Playgroud)

Rails生成了这个:

class Message < ActiveRecord::Base
  belongs_to :sender
  belongs_to :recipient
end
Run Code Online (Sandbox Code Playgroud)

但我不想要两种不同的型号.这两个领域都应该参考User.我正在运行Ruby 2.0.0和Rails 4.0.2.任何帮助都非常感谢.如果您需要有关我的问题的更多信息,请询问我.

Sai*_*aev 13

您可以指定关联的类名doc

class Message < ActiveRecord::Base
  belongs_to :sender, class_name: 'User'
  belongs_to :recipient, class_name: 'User'
end
Run Code Online (Sandbox Code Playgroud)

  • 这是有道理的,但我想要准确理解在rails generate命令中放入什么.您是否使用:rails generate model消息用户:引用 (2认同)
  • 您可以不将引用放在生成器中,将`sender_id`和`recipient_id`作为整数放置,让Rails进行连线. (2认同)