如何通过link_to helper从rails中的视图传递参数到控制器操作

时间:2013-11-04 14:36:39

标签: ruby-on-rails ruby-on-rails-3.1

<%= link_to "Connect", {controller:"home", action:"connectTo"}, id: "btny" %>

这是我的link_to助手。

我想在此link_to标记中附加参数,以便我可以在操作connectTo中获取该参数。我无法找到正确的语法或方法,并且无法理解我在stackoverflow上找到的一些答案。 我怎样才能做到这一点?

def connectTo 
  #here i want to get the parameter i pass from link_to from view...
end

1 个答案:

答案 0 :(得分:23)

  1. 不要在Rails中的变量名和方法名中使用camel case。这不是一个惯例,会在以后咬你。

  2. 尽可能使用命名路径,而不是手动分配控制器和操作。

  3. 对于您的问题,假设您的指定路径为home_connect_to_path,然后是

    link_to "Connect", home_connect_to_path(foo_param: 'bar_value')
    

    链接看起来像

    http://localhost:3000/home/connect_to?foo_parms=bar_value
    

    然后在控制器中获取

    def connect_to
      foo = params[:foo_param] # 'bar_value'