【问题标题】:Ruby on Rails: two references with different name to the same modelRuby on Rails:对同一模型的两个不同名称的引用
【发布时间】:2014-01-03 17:03:55
【问题描述】:

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

rails generate model Message sender:references recipient:references

Rails 生成了这个:

class Message < ActiveRecord::Base
  belongs_to :sender
  belongs_to :recipient
end

但我不想要两个不同的模型。这两个字段都应引用User。我正在运行 Ruby 2.0.0 和 Rails 4.0.2。非常感谢任何帮助。如果您需要有关我的问题的更多信息,请询问我。

【问题讨论】:

    标签: ruby-on-rails ruby database reference


    【解决方案1】:

    可以指定关联的类名,doc

    class Message < ActiveRecord::Base
      belongs_to :sender, class_name: 'User'
      belongs_to :recipient, class_name: 'User'
    end
    

    【讨论】:

    • 这是有道理的,但我想确切地了解在 rails generate 命令中放入什么。你用的是:rails generate model Message user:references
    • 您可以不将引用放在生成器中,而是将 sender_idrecipient_id 放置为整数,然后让 Rails 进行接线。
    猜你喜欢
    • 2011-01-04
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    相关资源
    最近更新 更多