Rails маршрутите получават 'frog' срещу get :frog (вероятно наистина лесно)

Това работи:

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

Ето какво разбирам, че трябва да прави: методът за ресурси (?) изпраща кодов блок към метода член (?) и му казва да създаде действие GET с глагола „жаба“ (което е запис в контролера , има изглед и т.н.)

Това също работи:

resources :students do
    member do
      get :frog
    end
end

Почти същото, но какъв вид данни е :frog в тази версия?

Опитвам се да разбера всеки ред от моето скелево приложение, вместо да приемам нещо на вяра. Всички уроци твърдят, че RESTful частта е трудната за разбиране част, но мисля, че това е доста ясно. Това са конвенциите на Rails, които ме спъват.

Всякакви обяснения/разширения на горното са добре дошли.


person crowhill    schedule 02.06.2015    source източник


Отговори (1)


Във вашия пример :frog е рубинен символ. Лесно се преобразува в низ чрез извикване на to_s върху него (опитайте :frog.to_s в irb или конзолата). По подобен начин можете да скриете низ в символ, като извикате to_sym (опитайте "frog".to_sym в irb или конзолата). Авторите на релсите решиха да приемат или низ, или символ в този случай, тъй като е тривиално да се промени от един към друг.

person Daiku    schedule 02.06.2015
comment
Разбира се. Това беше. Благодаря! Разполагайки с фразата на Google фраза рубин, намерих и тази страница, беше полезно. - person crowhill; 02.06.2015