Я пытаюсь создать приятную структуру RESTful для моего приложения в рельсах, но теперь я застрял в концепции, которая, к сожалению, я не уверен если это правильно, но если кто-то может мне помочь, это будет очень хорошо оценено.Rails - RESTful Routing - добавьте POST для члена ie (советы/6)
Если заметил, что для RESTful маршрутов, которые мы имеем (в незакомментированные из них)
collection
:index => 'GET'
:create => 'POST'
#:? => 'PUT'
#:? => 'DELETE'
member
:show => 'GET'
#:? => 'POST'
:update => 'PUT'
:destroy => 'DELETE'
в данном случае я говорю только о действии базового уровня или те, которые происходят непосредственно внутри т.е. http://domain.com/screename/tips или http://domain.com/screename/tips/16
но в то же время я замечаю, что для членов нет возможности POST, кто-нибудь знает почему?
Что делать, если я пытаюсь создать самостоятельный элемент, который клонирует себя с другим onwer?
Я почти уверен, что это было бы хорошо сгенерировано методом POST внутри действия элемента, но, к сожалению, похоже, что на карте отсутствуют методы по умолчанию. Ресурсы на рельсах для этого.
Я пытался что-то с помощью: член, или: новый, но он не работает, как этот
map.resources :tips, :path_prefix => ':user', :member => {:add => :post}
так что это будет доступ внутрь http://domain.com/screename/tips/16/add и не http://domain.com/screename/tips/16.
Как можно создать метод POST по умолчанию для участника в маршруте RESTful?
Я думал, что, может быть, это не там, потому что это не является частью декларации REST, но быстрый поиск по ней я нашел:
POST
для коллекций: Создайте новую запись в коллекции, где идентификатор автоматически присваивается коллекцией. Созданный идентификатор обычно включается как часть данных, возвращаемых этой операцией.
для членов: Рассматривает адресованный элемент как коллекцию в отдельности и создает новый подчиненный.
Так эта концепция до сих пор такой же, если вы думаете о методе DELETE или PUT для коллекции. Что делать, если я хочу удалить всю коллекцию вместо одного члена? или даже заменить их (PUT)?
Как я могу создать эти конкретные методы, которые, как представляется, отсутствуют на map.resources?
Все, я надеюсь, что это легко понять.
Приветствия
Это действительно класс EMFi, я очень ценю это. :) Теперь его гораздо легче понять, так как вы принесли и техническую, и теоретическую стороны ситуации. Я начну думать таким образом, прежде чем строить архитектуру маршрутизации для своих приложений. Спасибо. +1 !!! – zanona