ruby-on-rails - 如何在 Ruby on Rails 中将参数传递给另一个视图
问题描述
我有一个名为 Year 的模型和一个名为 Highlight 的模型
一年有并且属于许多亮点。一个亮点,已经并且属于多年。像这样:
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
解决方案
在定义按钮的路径时,您应该将年份作为参数传递。看起来如下所示:
routes_path(key: value)
例如:admin_highlights_path(year: year)
推荐阅读
- python - 如果单元格值是列表,则将 Dataframe 行拆分为 2 行
- azure-cognitive-search - Azure 搜索如何获取复杂类型集合中的一个特定项目
- python - 如何使用第二个 Tkinter 窗口在第一个中更改图像?
- azure-active-directory - UIPath 的 Azure AD 应用注册设置
- xamarin - Xamarin.iOS 中的 AVAudioSinkNode 无法连接到 InputNode
- c++ - 可以禁止演员吗?
- protocols - 创建自定义可扩展协议架构的最佳实践?
- linux - ram初始化后u-boot硬故障错误
- docker-compose - Docker-compose.yml Volummes: 和 -mount 命令结果不一样
- linux - 在 LINUX 服务器上使用 torch7 运行 LUA