我一直在玩几个小时建立不同的关系,我不知道如何与我正在使用的东西建立一个has_many关系。不确定这只是命名冲突还是我不理解。
这是我的数据库表:
show_names (table name):
id
show_id
name
shows (table name):
id
length
synopsis
number_of_episodes
status
所以每个节目都有很多可能的名字。所以我想建立一个has_many关系,所以我可以调用类似的东西:
Show.all.shownames[0].name
那会给我一个名字。
以下是我的模型的代码示例,以及我认为我搞砸的地方。
class ShowName < ActiveRecord::Base
has_many :shows
end
和
class Show < ActiveRecord::Base
belongs_to :shownames
end
使用ShowName.all可以获取数据,Show.all也可以。
所以我有两个主要问题。
1)我只是误解了某些东西或者把它放在了错误的地方吗? 2)如何访问节目名称?我知道在其他使用has_one我只是使用实体的名称它是否与has_many相同
感谢任何帮助。
答案 0 :(得分:1)
你翻转了belongs_to和has_many,需要额外的下划线。试试这个:
class ShowName < ActiveRecord::Base
belongs_to :show
end
和
class Show < ActiveRecord::Base
has_many :show_names
end
现在......
show = Show.first
show.show_names => ["First name for first show", "Second name for second show"]