私のモデルは次のとおりです。
class City < ActiveRecord::Base
belongs_to :region
has_many :activities
has_many :restaurants
end
class Activity < ActiveRecord::Base
belongs_to :city
end
すべての都市からすべてのアクティビティにアクセスしたい。stackoverflow に関する以前の質問から、この @cities.activities を実行できないことを読みました。代わりに、次のことを行いました。
リージョンへの関連付けを通じて has_many を追加します
class Region < ActiveRecord::Base
has_many :activities, :through => :cities
end
@activities = @region.activities.find_all_by_homepage_city(true)
しかし、変数 @activities を呼び出すときは、polymorphic_path を使用します。
- @activities.each do |b|
%li
=link_to b.name, polymorphic_path([@region, @city, b])
「region_activity_path のメソッドではありません」というメッセージが表示されます。リソース: リージョンの後にリソース: アクティビティがないため、これは正しいです。
resources :regions do
resources :cities do
resources :activities
リージョンの後にアクティビティ リソースを追加できますが、URL が正しくありません。どうすればこれを修正できますか?