如何设置我的belongs_to和has_many引用

时间:2010-03-22 23:42:28

标签: ruby-on-rails ruby activerecord

我有一个ExpenseType对象,我使用以下迁移创建了该对象:

class CreateExpenseTypes < ActiveRecord::Migration
  def self.up
    create_table :expense_types do |t|
      t.column :name, :string, :null => false
      t.timestamps
    end
  end

我可以看到表名是复数的expense_types。我的问题是,如何在belongs_to关系中引用此类型?

是吗:

belongs_to :expensetype

或者是

   belongs_to :expense_type

我似乎无法正确设置。

另外,如果对象包含在这样的费用对象中,我将如何引用该对象:

class Expense < ActiveRecord::Base
  belongs_to :expense_type
end
它会是:

expense.expense_type

expense.expensetype

干杯

1 个答案:

答案 0 :(得分:0)

你说得对:

# app/models/expense.rb
class Expense < ActiveRecord::Base
  belongs_to :expense_type
end

您还可以按如下方式设置ExpenseType

# app/models/expense_type.rb
class ExpenseType < ActiveRecord::Base
  has_many :expenses
end

此外,如果expenseExpense的实例,您可以访问expense_type

expense.expense_type

了解更多信息

参见 ActiveRecord::Associations::ClassMethods