【问题标题】:How to override function new so I can send parameter如何覆盖新功能,以便我可以发送参数
【发布时间】:2021-03-13 13:55:23
【问题描述】:

我有带有 has_may :benefits 的模型产品,现在在 link_to 中以获得新的好处我不知道如何发送产品 ID 以便我可以使用

Product.find(params[:id]).benefits.new(...)

正常的新方法是

<%= link_to t('add_new_benefit'), new_admin_benefit_path %>

我想发送@product 对象,以便从中获取 id。

我想这样发送

<%= link_to t('add_new_benefit'), new_admin_benefit_path(@product) %>

routes.rb

...
namespace :admin do
      root "action_logs#index"
      get "toolkit", to: "toolkit#index"
      resources :admins
      resources :products
      ...
      resources :benefits
end

【问题讨论】:

    标签: ruby-on-rails ruby routes


    【解决方案1】:

    我相信您只想将id 作为参数传递。例如:

    <%= link_to t('add_new_benefit'), new_admin_benefit_path(product_id: @product.id) %>
    

    很多例子here

    【讨论】:

    • 我如何在控制器中使用它? params[product_id] 给我 nil
    • 参数[:product_id]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 2020-05-27
    相关资源
    最近更新 更多