我正在创建一个Post
模型,其中有一个Location
。 Location
可以包含许多Post
个。对于此关系,我在location_id
中创建了字段Post
。
我想知道做以下的belongs_to和has_many:
class Post < ActiveRecord::Base
attr_accessible :description, :price, :location_id
belongs_to :location
end
class Location < ActiveRecord::Base
attr_accessible :latitude, :longitude, :name
has_many :posts
end
创建这两个模型时,我知道我可以创建一个帖子,例如:
my_post = my_location.posts.create ....
但在我的应用程序中,人们会搜索帖子描述,并在结果中显示所有找到的帖子和位置的名称,如:
Post Description: XXXXXXX
Location Name: New York
Post Description: YYYYYYY
Location Name: New York
Post Description: ZZZZZZ
Location Name: Chicago
进行此关联的最佳方式是什么。正如我所做的那样,在我的帖子中只有我的location_id而且我不能做类似的事情(我的方法丢失错误)
my_post.location.name
我认为我做得不对如果我需要搜索每个my_post.location_id,只是为了获取位置名称。
这实际上是一些愚蠢的错误,我真的不知道我做了什么,对不起,谢谢你的帮助
答案 0 :(得分:0)
您收到的错误消息是什么?
my_post.location.name
只要my_post具有关联的位置,应该有效