将params传递给rails path helper

问题描述 投票:1回答:1

我试图将params传递给我的rails路径助手,但我目前的尝试无法正常工作。这是我现在正在做的事情:

<%= link_to "Pause Assignment", pause_account_complete_assignment_index_path(@assignment.current_timekeeper) %>

调节器

def pause
  binding.pry
end 

在控制器中,我正在寻找我传入的参数。但它们没有找到。这是返回的内容。

<ActionController::Parameters {"controller"=>"accounts/complete_assignment", "action"=>"pause"} permitted: false>

routes

resources :complete_assignment, only: [:create, :destroy] do
  get 'pause', on: :collection
end

它可能与我在收集时使用的事实有关?

但是,基本上我如何在控制器中传递@assigment.current_timkeeper

ruby-on-rails ruby
1个回答
4
投票

你应该用哈希语法传递额外的参数

<%= link_to "Pause Assignment", pause_account_complete_assignment_index_path(current_timekeeper: @assignment.current_timekeeper) %>

这会给你类似的参数

<ActionController::Parameters {
  "controller"=>"accounts/complete_assignment", 
  "action"=>"pause",
  "current_timekeeper"=>"value_of_current_timekeeper" 
 } permitted: false>
© www.soinside.com 2019 - 2024. All rights reserved.