首页 > 解决方案 > 如何从rails中的路由将参数传递给控制器​​?

问题描述

我有一个控制器动作如下

def method params
  //work with params
end

我想从 routes.rb 将参数传递给控制器

get '/link' , to: 'controller#method'

而且我不希望参数出现在 URL 中。

标签: ruby-on-railsruby

解决方案


get '/link' , to: 'controller#method', as: :my_link

使用路由助手传递参数

<%= link_to 'My Link', my_link_path(param_1: "abc", param_2: "xyz")%>

网址看起来像

http://localhost:300/link?param_1=abc&&param_2=xyz

在 controller#method 你可以得到这些参数

params[:param_1] = "abc"
params[:param_2] = "xyz"

推荐阅读