我正在深入研究Ruby on Rails,我正在努力掌握API的可用文档。我试图找出ActionView API中redirect_to
方法的“选项”列表。在RoR API docs中,它说......
redirect_to(options = {}, response_status = {})
但它没有列出可用选项。
redirect_to
方法有哪些可用选项?答案 0 :(得分:1)
正如doc所说:
将浏览器重定向到目标 在选项中指定。这个参数 可以采取以下三种形式之一: 哈希, 记录, 以protocol://开头的字符串(如http://), 不包含协议的字符串, :背
示例:
redirect_to :action => "your_action_name"
或
redirect_to post_url(@post), :status => :found
更新1:(在downvote之后;))
它不是关于特定的keyworks,而是它在选项中传递的数据的“类型”。正如你所说,关于“id”或“action”,它们是哈希的一部分。见1.
哈希 - redirect_to :action => "show", :id => 5
记录 - 发布
以协议开头的字符串 - “http://google.com”
不包含协议的字符串 - /images/foo.jpg
:背
所以,这些是可以在redirect_to
中传递的值的“5”类型,它再次来自ruby docs,因为它就是代表的东西。我不能比这更清楚。
更新2
我们举一个例子:比如说,您已经订购了一件商品,在您付款后,您应该被重定向回您刚刚订购的商品页面。
Code_for_placing_the_order
redirect_to :action => "show_item", :id => 5, :current_user => "john"
因此,当您执行此操作时,将调用操作“show_item”,该操作将id
作为项目的查找值和当前登录用户current_user
。
因此,在表单提交中,您调用一个操作并传递表单值,您在重定向中也会这样做。
更新3
我给出的例子是哈希。因此,创建了一个哈希值,该哈希值通过URL传递到重定向页面。
key | value
-------------------------
action | show_item
id | 5
current_user | john
现在,此哈希转发到下一页。 action
和id
的值应该相同,然后您可以添加所需的ANY symbol
。只会使用相应的值转发它们,您可以在show_item
操作方法中阅读它们。