has_and_belongs_to_many命名怪癖

时间:2013-03-05 06:51:18

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord associations

我正在使用has_and_belongs_to_many但是它给了我错误,我假设因为它对我的模型和表名上的单数/复数感到困惑。

联系模式:

class Contact
  has_and_belongs_to_many :social_statuses 
end

SocialStatus模型:

class SocialStatus
  has_and_belongs_to_many :contacts
end

迁移。

class CreateContactSocialStatuses < ActiveRecord::Migration
  def change
    create_table :contact_social_statuses, :id => false do |t|
      t.references :contact
      t.references :social_status

      t.timestamps
    end
  end
end

我很确定问题是整个“social_status”模型是2个单词,虽然我不确定。

我尝试将模型更改为ContactsSocialStatuses,但这也给我一个问题。

由于

以下是我的迁移文件中的内容。如果我同时将class CreateContactsSocialStatusescreate_table :contacts_social_statuses同时保留为复数,当我尝试使用状态时,我会得到uninitialized constant CreateContactSocialStatuses

如果我将上面提到的这两行代码更改为单一的“联系人”部分(CreateContactSocialStatuses),我会收到错误Mysql2::Error: Table 'organizer.contacts_social_statuses' doesn't exist

0 个答案:

没有答案