我认为request.method应该返回一个符号,如:get,:put等?
但是在控制器动作中,我得到GET作为一个字符串!
但是在控制器动作中,我得到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
PS.我在Ruby 1.8.7 p330上使用Rails 3.0.3
解决方法
按设计工作 – 它应该返回一个字符串:) 所以,使用字符串.不同的主题:您可以分别使用to_s和to_sym在字符串和syms之间进行转换.