有文章和标签模型。
要查找与特定标记相关联的文章,用户点击链接,然后点击“/ articles?tags = iPhone”网址。
除了“tags”参数之外,我还需要将另一个参数传递给服务器,比如说“hiddenParam”,不应该出现在地址栏中。
因此,用户应在地址栏中看到“/ articles?tags = iPhone”,并且还应在请求正文中提供额外的“hiddenParam”。
这是否可行,在Rails中使用标准的ActionView助手?
答案 0 :(得分:1)
您应该发送一个POST请求,其中包含您不希望在URL栏中查看的变量,但请设置请求路径以包含您想要查看的参数。
curl请求示例如下:
curl "http://localhost:3000/articles?tags=iPhone" --data "secret=sssssh" -X POST
然后在您的控制器中,两个参数都应该可用。
但是,请记住,该页面在当前状态下不会是可收藏/可链接的。您可能真的想加密或散列隐藏参数并通过get传递它,如果您确实需要除了当前用户之外的任何人都可以使用该URL。
PS。为什么你的路由不是/ tags /:id?
答案 1 :(得分:1)
如果你真的必须,试试这个:
<%= form_tag('articles/?tags=iPhone', :method => "post") do %>
<%= hidden_field_tag(:hiddenParam, "mySecret") %>
<%= submit_tag("Browse articles") %>
<% end %>
然后使用CSS样式使您的按钮显示/看起来像一个链接。 但请记住,这对搜索引擎无效。