![]() |
|
|
![]()
|
|
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Пример из книги:
In this example, assume the application has previously displayed a product catalog page, and the user has just clicked the Add To Cart button next to one of the products. This button links back to our application using the URL http://my.url/store/add_to_cart/123, where 123 is our internal id for the selected product. ... it takes the first part of the path, store, as the name of the controller and the second part, add_to_cart, as the name of an action. The last part of the path, 123, is by convention extracted into an internal parameter called id. As a result of all this analysis, the router knows it has to invoke the add_to_cart() method in the controller class StoreController Изначально: есть класс, где хранятся и данные, и методы работы с этими данными (доступ, различные операции и выдача результата). MVC все разносит по классам: данные - в один (модель), методы работы - в другой (контроллер), выдача - в третий (вью). mvc в ruby: начинается уже с урл? т.е. если проектировать структуру сайта, нужно ориентироваться на подобную схему: контроллер -- метод -- параметр для метода (какие данные из модели взять)? |
|||
|
||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 2 Всего: 73 |
Не обязательно. Роутинг можно переопределить. Посмотри: http://habrahabr.ru/blogs/ruby/45377/ -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
MVC во всех случаях начинается с пользовательского ввода, который передаётся на обработку контроллеру. Вполне естественно, что для веб-приложений пользовательский ввод осуществляется через URL и HTTP-параметры(POST, GET, etc.) Про роутинг стоит почитать отдельно для RoR 2.3.x, для RoR 3.0. Предварительно не помешает изучить архитектуру REST. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
Vasay, спасибо за ссылку, интересно, хоть и понял немного. В доках по рору наверняка подробно расписывается. Получается, если есть информация, которую может запросить пользователь и работать с ней, то и есть свой контроллер. Как в примере: список статей. Или информация о партнерах и о продукции: партнеры - свой контроллер, продукция - свой контроллер. И т.д. на каждую модель свой контроллер.
Сейчас читаю статьи. Сильно отвлекают термины сервисы (rest, soap), ресурсы. Ресурсы это веб сайты с их содержимым (бд, еще что-нибудь)? А сервисы это наборы методов, которые слушают порт и обрабатывают пришедшие запросы? На контроллеры похоже. Это сообщение отредактировал(а) Gunslinger - 19.8.2010, 10:08 |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
Нет, ресурс - это некий информационный объект, который может иметь различные представления (HTML, XML, JSON, YAML, etc.). Примеры ресурсов: статья, комментарий, пользователь, категория, топик, пост.
Веб-сервисы - это веб-приложения предоставляющие внешний API, например GitHub или Lighthouse. Любой веб-сервис работает в рамках некоторой архитектуры/протокола, например XML-RPC, SOAP, REST. Rails приложения обычно используют REST протокол, как наиболее удобный и идеологически правильный (соглашение превыше конфигурации). Поэтому REST очень хорошо интегрирован в RoR и если тебе понадобится сделать внешний API для твоего веб-приложения, то сделать это будет довольно легко. Я тебе нагуглил русский ликбез на тему REST, хотя в идеале рекомендую прочитать книгу "Practical REST on Rails 2 Projects". Это сообщение отредактировал(а) source777 - 19.8.2010, 12:25 -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
source777, большое спасибо! Книгу на торренте нашел.
Думаю смысла дальше разговаривать пока нет. Сначала усвою rest, затем примусь за ror, а там уже можно будет про архитектуру продолжить, если будут вопросы. Спасибо за помощь! |
|||
|
||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 2 Всего: 73 |
Gunslinger,
Я не думаю, что Вам надо так сильно отвлекаться от RoR на REST. Думаю, того что написано, скажем в книге "Путь Rails." про Rest будет Вам вполне достаточно. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
Соглашусь c Vasay, для старта хватит и ликбеза, а книгу чуть позже прочитаешь, тем более что она предполагает наличие у читателя знаний по RoR 2.x, так что на данном этапе тебе подойдёт только первая глава "Why REST?".
Вот эту главу стоит прочитать даже до ликбеза, потому что там расписано зачем это вообще нужно, какие даёт преимущества и даже приведён небольшой исторический экскурс. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| Gunslinger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 30.12.2006 Где: Астрахань Репутация: нет Всего: 3 |
||||
|
||||
![]()
|
| Правила форума "Ruby on Rails" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Ruby On Rails | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |