我有一个名为Year的模型和一个名为Highlight的模型
A Year已经并且属于许多亮点。而一个亮点,已经并且属于多年。就这样:
class Year < ActiveRecord::Base
has_and_belongs_to_many :highlights
end
class Highlight < ActiveRecord::Base
has_and_belongs_to_many :years
end
我有一个关于Year实体的视图,并希望有一个链接到该特定年份的所有重点的按钮,例如:
<td>
<%= button_to 'Highlights', admin_highlights_path(year), class: 'btn btn-sm btn-default' %>
</td>
我知道在我的控制器上要做什么,但我在这个视图上做错了。因为,当我点击按钮时,它显示消息:
ActionController::ParameterMissing in Admin::HighlightsController#create
因为当然这是试图采取错误的行动。
所以,我的问题是,如何生成一个按钮,将年份作为admin_highlight索引的参数发送,在我的控制器中,我可以显示该特定年份的所有重点类别?
我的路线:
namespace :admin do
root 'pages#show', id: 'dashboard'
resources :events
resources :invitees do
collection do
get 'import_invitees/:year' => 'invitees#import_invitees', as: :import_invitees
end
end
resources :highlights
resources :pages
resources :speakers
resources :sponsors
resources :users
resources :years do
resources :events do
resources :photos
end
end
end
答案 0 :(得分:0)
在定义按钮的路径时,您应该将年份作为参数传递。
多数民众赞同如下:
routes_path(key: value)
例如:admin_highlights_path(year: year)