私のモデルは次のとおりです。
class region
has_many :cities
end
class event
belongs_to :city
end
class city
has_many :events
belongs_to :region
end
イベントコントローラー
def index
@region = Region.find(params[:region_id])
@cities = @region.cities
@city = City.find(params[:city_id])
@events = @city.events
@events_by_date = @events.group_by(&:start_on)
end
ページ: 地域/x/都市/x/イベント
市内のすべてのイベントを表示します。
質問: /region/events ページにすべての都市のすべてのイベントを表示するにはどうすればよいですか? リソースを作成しました
resources :regions do
resources :events do
collection do
get 'all_events'
end
end
しかし、イベントコントローラーで「all_event」アクションを定義するにはどうすればよいでしょうか?
イベントの所属先:city. これに対する解決策はありますか?
私はこれを試しました:
コントローラ:
@region = Region.find(1)
@events = Event.includes(:city)
@events_by_date = @events.group_by(&:published_on)
意見:
%ul.property_list
- @events_by_date[date].each do |event|
%li.restaurant
%span.icon
%h5
= link_to event.title, polymorphic_path([@region, event.city.name, event])
エラー: 未定義のメソッド `region_Assisi_event_path'