Rails, спокойный и неуспокоительный маршрут

Что-то вроде resources :products создаст 7 разных спокойных маршрутов для операций CRUD для ресурса products. Например: products GET /products(.:format) products#index

Таким образом, спокойный маршрут включает в себя только имя контроллера внутри себя и :id для операции, такой как edit, show, update, delete. Итак, как я понял, первое требование (в рельсах) для маршрута (точнее URL-адреса), чтобы быть спокойным, заключается в том, что маршрут не может содержать имя действия ? Q1

Второе требование для того, чтобы маршрут был спокойным, заключается в том, что действие, соответствующее маршруту, должно «играть по правилам покоя», другими словами, например, GET не должно оставлять побочных эффектов на сервере, а только извлекать данные. Итак, если у меня есть /products(.:format) products#index и в рамках действия индекса я сохранил что-то в БД, то указанный выше маршрут просто выглядит как спокойный маршрут, но на самом деле это не так?

Когда я создаю неуспокоительные маршруты в рельсах, например: get ':controller/:action/:id', я вижу только разницу в том, что я должен явно писать :action, так что ":action" делает этот маршрут неуспокоительным?

Мне кажется, что успокоение в рельсах - это все о CRUD? Во-вторых, мне вообще не нужны неуспокоительные маршруты, когда я могу создать кучу спокойных маршрутов с такой конструкцией, как следующая (и другая подобная конструкция)?

resources :products do
  member do
    get 'preview'
  end
end

С этого момента, и я относительно новичок во всем этом, много читая о концепции REST, и если я прав в своем первом вопросе (Q1), это единственная разница между спокойным и неуспокоительным маршрутом в рельсах?


person Srle    schedule 31.10.2013    source источник
comment
Концепция отдыха довольно хорошо объяснена в этом посте: /2441962/что такое покой-маршрутизация   -  person Jonathan Bender    schedule 01.11.2013