我目前正在学习RoR,而且我对理解助手方法有疑问。 这个例子来自ruby指南。
因此,当我在此示例中单击提交表单时,我在控制器中调用create
方法。但是,当我点击“后退”按钮时,我会转到index
操作。
<%= form_for :post, url: posts_path do |f| %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
<%= link_to "Back", posts_path %>
为什么使用相同的网址posts_path
(这是辅助方法,不是吗?)我有不同的结果?
答案 0 :(得分:1)
HTTP方法在您的情况下是不同的
method: POST, posts_path -> create action
method: GET, posts_path -> index action
查看rake routes | grep post
的结果会给你一些想法
答案 1 :(得分:0)
重定向使用GET,而表单使用POST。
答案 2 :(得分:0)
不同之处在于,表单会向POST
提交posts_path
请求,而后退按钮为GET
。这是Rails处理其资源的常见REST
方式。有关该