将params传递给rails path helper

时间:2017-04-16 16:11:40

标签: ruby-on-rails ruby

我正在尝试将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>

路由

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

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

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

1 个答案:

答案 0 :(得分: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>