Что-то вроде 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), это единственная разница между спокойным и неуспокоительным маршрутом в рельсах?