【问题标题】:link_to with controller name, action, method and additional arguments带有控制器名称、操作、方法和附加参数的链接到
【发布时间】:2016-07-06 18:13:01
【问题描述】:

我想创建一个带有控制器名称的link_to,并传递其他参数。方法类型为post 目前,我有:

<%= link_to "Name", {controller: "users", action: "custom"}, method: "post" %>

如何将附加参数传递给上述内容?如果使用link_to 无法做到这一点,我还有哪些其他选择?

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-4


【解决方案1】:

您可以在 {} 中传递更多参数

<%= link_to "Name", {controller: "users", action: "custom", first_parameter:"foo", second_parameter:"bar"}, method: "post" %>

【讨论】:

  • 我试过了。但是参数包含在 URL 中。有没有办法避免这种情况?我不一定需要使用 link_to
  • 哦,你的意思是传递那些参数,就像在飞行中有输入一样......这是无法完成的,至少不是以这样的简单方式。您需要为此创建一个表单或发出 ajax 请求。
【解决方案2】:

如果您想进行 POST,那么您应该使用 button_to,并使用默认的 POST 行为(不过,您不必这样做):

<%= button_to "Name", { controller: "users", action: "custom", param1: "param1", param2: "param2" } %>

【讨论】:

  • 我试过了,参数仍然包含在 URL 中。
【解决方案3】:

您可以使用hidden_field_tag

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    相关资源
    最近更新 更多