![]() |
|
![]() ![]() ![]() |
|
pupadupa |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.1.2007 Репутация: нет Всего: нет |
Добрый вечер.
Начал изучать RoR. Сгенерил простой weblog (по анологии http://ruby.inuse.ru/video-uroki/razrabotk...oshchi-netbeans ) т.е. просто scaffold Post title:string . Использую IDE NetBeans В итоге вижу в файле index.html.erb :
Вопрос: почему :method => :delete ? хотя в файле posts_controller.rb записано :
Поиском я нашёл, что есть в проекте файл posts_controller_test.rb и в нём указано:
Но я вот не пойму причём тут этот posts_controller_test.rb ? и где он цепляется у меня ? Если не сложно, объясните на пальцах принцип.... зачем этот posts_controller_test.rb , где он цепляется, почему нельзя использовать :method => :destroy (ошибку сервера выдаёт) ??? Спасибо. Это сообщение отредактировал(а) pupadupa - 8.12.2008, 06:00 |
||||||
|
|||||||
shine |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 20.10.2006 Репутация: 3 Всего: 5 |
posts_controller_test.rb - файл с автоматическими тестами для контроллера PostsController. Создается он, насколько я помню, при генерации контроллеров через ruby script/generate. Цепляется он при запуске функциональных тестов или при запуске всех тестов сразу.
delete - это HTTP заголовок, а destroy - это интерфейс ресурса Post. То есть это принципиально разные вещи. --------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin |
|||
|
||||
pupadupa |
|
||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.1.2007 Репутация: нет Всего: нет |
Спасибо. Буду разбираться дальше.
а нет какой-нить ссылочки чтобы почитать про это? в гугле найти не могу. Просто как-то странно: создался (при автоматической генерации) класс PostsControllers в нём определён метод destroy, а во вьюхе index.html.erb этот destroy не задействован, а используется delete, который вообще непонятно что такое. Нашёл другой пример (http://www.tutorialspoint.com/ruby-on-rails-2.1/rails-controllers.htm), в нём всё создаётся вручную (без автоматической генерации) и в этом примере всё понятно: 1) Есть book_controller.rb
2) А потом делается view, которая вызывает метод :delete Creating view file for delete method:
Почему при автоматической генерации не так полчается? Очень запутанно как-то. Хочется разобраться детально, в чём разница подходов, в чём плюсы/минусы, почему при автоматической генерации делается так запутанно (как мне показалось) и как это всё работает. Спасибо! |
||||
|
|||||
shine |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 20.10.2006 Репутация: 3 Всего: 5 |
Почитайте про ресурсы и их реализацию в Rails. Вот неплохая статья: http://www.taknado.com/2007/8/31/rest-on-rails
Если нужно очень кратко, то посмотрите 7-ю страницу здесь: http://media.rubyonrails.org/presentations...ofresources.pdf --------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin |
|||
|
||||
pupadupa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.1.2007 Репутация: нет Всего: нет |
Спасибо огромное за ссылки!!!!
Начинает прояснятся картина. я так понял, что в этой строчке
delete это как раз передоваемый от клиента к серверу HTTP заголовок, а не метод класса (как я подумал). Т.о. получается, что ресурсу (в терминологии REST ) передаётся: url (ссылка по которой мы переходим) + DELETE (в HTTP заголовке) и ресурс отвечает на это методом DESTROY (метод описанный в контроллере). Я правильно понял? З.Ы. мда... интересный подход! если честно я про HTTP то и не думал никогда |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Ruby: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |