我认为request.method
应该返回:get
,:put
等符号?
但是在控制器操作中,我得到GET
作为字符串!
我做错了吗?
在routes.rb
:
resources :posts
member do
get 'some_action'
end
end
在视图中.erb:
<%= link_to "Some Action",some_action_post_path %>
在PostsController
:
def some_action
p request.method # => "GET"
p request.method.class.name # => "String"
if request.method == :get
#does not get called
end
end
聚苯乙烯。我在Ruby 1.8.7 p330上使用Rails 3.0.3
答案 0 :(得分:10)
按设计工作 - 它应该返回一个字符串:) 所以,使用字符串。不同的主题:您可以分别使用to_s和to_sym在字符串和syms之间进行转换。
答案 1 :(得分:9)
对于在转换Rails 2.x时遇到此问题的任何人,值得注意的是request.method调用用于返回符号。
答案 2 :(得分:2)