在视图文件中,我的代码类似于:
<%= link_to refresh_post_user_post_path(@user,@post), :method => :put%>
在 routes.rb 中:
resources :users do
resources :posts do
member do
put :refresh_post
end
end
end
有趣的是在控制器中检查请求对象时:
def refresh_post
... ...
p request.method # => POST
p request.request_method # => PUT
... ...
end
我知道方法和请求方法是不同的,但是 POST 请求来自哪里?
而且:
$ rake routes
refresh_post_user_post_path PUT /users/:user_id/posts/:id/refresh_post, {:action => "refresh_post", :controller => "posts"}
我使用的是 Rails 3.0.11 和 Ruby ree-1.8.7,上面的一切都没有例外。但是任何人都知道这个请求是怎么变成 POST 的?