Rails路线" get' frog'" vs" get:frog" (可能很容易)

时间:2015-06-02 18:03:43

标签: ruby-on-rails ruby ruby-on-rails-4

这有效:

resources :students do
    member do
      get 'frog'
    end
end

这就是我所理解的:资源方法(?)正在向成员方法(?)发送一个代码块,并告诉它用动词'来创建一个GET动作。青蛙' (这是控制器中的一个条目,它有一个视图等)。

这也有效:

resources :students do
    member do
      get :frog
    end
end

几乎相同,但此版本中的:frog是什么类型的数据?

我试图了解我的脚手架应用程序的每一行,而不是根据信仰采取任何行动。所有教程都声称RESTful部分是难以理解的部分,但我认为非常清楚。它是绊倒我的Rails惯例。

欢迎任何解释/扩展。

1 个答案:

答案 0 :(得分:1)

在您的示例中,:frogruby symbol。它可以通过调用to_s轻松转换为字符串(在irb或控制台中尝试:frog.to_s)。同样,您可以通过调用to_sym(在irb或控制台中尝试"frog".to_sym)将字符串转换为符号。在这种情况下,rails作者决定接受一个字符串或一个符号,因为从一个变为另一个变得微不足道。