使用Rails 2.3.8。我想显示复杂关系中的数据。
这些在我的模特中:
shop.rb
has_many :city_shops
id | name
3 | Good Cafe
city_shop.rb
belongs_to :city
belongs_to :shop
id | city_id | shop_id | notes
2 | 4 | 3 | Delicious food in Paris
city.rb
belongs_to :article
has_many :city_shops
has_many :shops, :through => :city_shops
id | article_id
4 | 5
article.rb
has_many :shops, :through => :shop_articles
has_many :cities, :dependent => :destroy
id | user_id | name
5 | 6 | Favorite shops in France
user.rb
has_many :articles
id | login
6 | victor
场景是这样的(可能不合逻辑):
ID为6的用户创建了许多文章。假设他创建了这篇名为法国最受欢迎的商店的文章。在本文中,有cities
。在每个city
中,都有city_shops
,其中包含来自shop
的详细信息notes
和city_shops
。
我还有个人shop
页面。我希望访问者知道用户留下的注释,注释的位置以及该用户文章的链接。
在shop
页面中,它应显示为:
用户备注 “胜利者”中的“美味的巴黎美食”,在“链接到法国最喜欢的商店”中分享。
我希望这个问题比以前更清楚。非常感谢你。
答案 0 :(得分:1)
<% @shop.city_shops.each do |city_shop| %>
city_shops notes: <%= city_shop.notes %>
users: <%= city_shop.city.country.user.username %>
country_id: <%= city_shop.city.country_id %>
<% end %>
你的模特有点奇怪。
答案 1 :(得分:1)
Notes by users:<br />
<% @shop.city_shops.each do |city_shop| %>
"<%= city_shop.notes %>" by "<%= city_shop.city.article.user.login%>", shared in <%= link_to city_shop.city.article.name, "#{url}" %><br />
<% end >
您必须在链接中提供网址,并且您还必须将其添加到文章模型中:
belongs_to :user