轨道中的辅助方法

时间:2014-02-08 17:38:35

标签: ruby-on-rails ruby

我目前正在学习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(这是辅助方法,不是吗?)我有不同的结果?

3 个答案:

答案 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方式。有关该

的更多信息,请查看rails docs