关联不同的列名

时间:2014-08-08 14:06:51

标签: ruby-on-rails

我有以下型号:

rails generate model RoomType code:string description:text

class RoomType < ActiveRecord::Base
  has_many :rooms
end

rails generate model room name:string code:string

class Room < ActiveRecord::Base
  belongs_to :room_type, foreign_key: "code"
end

我想在Room而非RoomType上使用code引用room_type_id

所以我@room.room_type.description rooms/show.html.erb undefined method description for nil:NilClass RoomType

{{1}}只包含三个代码,即AAA,BBB,CCC

2 个答案:

答案 0 :(得分:3)

不要创建名为“Type”的类。改变这个名字,也许是“善良”,我不知道。

检查此列表Reserved words in rails

答案 1 :(得分:0)

将其更改为最佳实践(将外键用作字符串不是最佳做法):

rails g migration add_room_type_id_to_rooms room_type_id:integer

class RoomType < ActiveRecord::Base
  has_many :rooms
end

class Room < ActiveRecord::Base
  belongs_to :room_type
end