Что такое "ресурс" в Rails?



глупый вопрос, но у меня есть некоторая затяжная путаница в том, что именно "ресурс" находится в Rails. Этот термин используется везде, но я получаю забавное чувство, что он может использоваться довольно свободно. На него ссылаются в модели, контроллере и, буквально, в routes.rb.



это конкретный маршрут? Например, map.resources отображает 7 спокойных "ресурсов". Так что пример один ресурс был бы вызовом, скажем,index действие определенного класса контроллер?!?



это ссылка на всю страницу/объект будет получен? или, может быть, более узко, таблица базы данных? или возвращаемый ряд?



Это что-то другое?



в любом случае, надеюсь, кто-то может задать мне прямо...

458   5  

5 ответов:

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

например, у вас может быть User ресурс (с users таблицы в вашей БД). Это представлено в виде User модель, сопоставляются с users_controller С map.resources :users (который затем генерирует маршруты, такие как /users (коллекция пользовательских ресурсов) и /users/1 (определенный пользовательский ресурс).

вы действуете на эти ресурсы, используя соответствующий метод HTTP при вызове этих ресурсов. POST в коллекцию ресурсов (/users) создает новую запись; GET получает список ресурсов (/users) или конкретного пользователя (/users/1). PUT обновление конкретного пользователя (/users/1/), и DELETE уничтожает этого пользователя. URL-адреса одинаковы, но результат (и действие контроллера) может отличаться в зависимости от команды HTTP. Идея, однако, в том, что /users/1 всегда означает "я взаимодействую с пользователем, который имеет ID #1", независимо от действия.

здесь хорошая статья обсуждая, как большинство разработчиков думают, что" ресурс " синонимичен с таблицей базы данных, аргумент, я думаю, заключается в том, что сопоставление с ресурсом сопоставляет контроллер с этой таблицей базы данных (или, с ActiveResource, с другим url-адресом REST).

в принципе, я думаю, что "ресурс" - это "сохраненные данные."map.resources карты 7 RESTful действия к определенному набору сохраненных данных.

но я не думал об этом слишком много в глубине души. Хороший вопрос!

откройте папку модели, это подсказка о том, какие ресурсы у вас есть! пример: пользователи, фотографии, комментарии...

Я думаю, что они, вероятно, имеют в виду это в общем веб-смысле, т. е. Ресурс (Web):

референт любого единого идентификатора ресурса

Я не думаю, что это имеет какое-либо отношение к таблицам базы данных.

многие люди здесь говорят, что ресурсы ссылаются на таблицы базы данных у вас есть. Это может быть правдой иногда, но не обязательно всегда. Я мог бы привести вам много примеров, когда у вас нет соответствующей таблицы в базе данных для конкретного ресурса. Следовательно, связывать его с таблицами довольно неправильно.

Я бы определил ресурс как маршрут, который сопоставляется с соответствующими запросами. Поэтому вместо объявления отдельных маршрутов для действий, которые вы хотите сделать, вы можете просто объявите их с помощью находчивого route.In рельсы, находчивый маршрут обеспечивает сопоставление между HTTP requests и URLs to controller actions.

так сказать, можно определить resources :users на config/routes.rb.
теперь вы можете использовать ряд помощников для контроллеров в вашем приложении, как edit_user_path возвращает users/edit .

Comments

    Ничего не найдено.