![]() |
|
|
![]()
|
|
| principala |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.1.2011 Репутация: нет Всего: нет |
Информация, которая есть в интернете, довольно противоречива.
Главный вопрос такой: Допустим, с помощью команды
я сгенерировал модель и контроллер. Как мне сделать админку "ручками", не прибегая к сторонним плагинам? Т.е, чтобы была возможность управлять таблицей products НЕ из контроллера products_controller.rb. |
|||
|
||||
| principala |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.1.2011 Репутация: нет Всего: нет |
После трех дней неудачных опытов ответ все-таки был найден.
Основывался на информации отсюда: http://icebergist.com/posts/restful-admin-...ing-scaffolding Опишу свои действия: 1. Создаю новый проект и генерю модель с контроллером с помощью скаффолдинга
(для Rails 2.x вместо "rails generate" используйте команду "script/generate") Для таблицы Product создается контроллер с именем products_controller.rb 2. Генерим пустой контроллер для админки:
Новички! Обратите внимание, что модель создается с именем в ЕДИНСТВЕННОМ числе (product), а для админ котроллера мы указываем название во МНОЖЕСТВЕННОМ числе (products). Эта штука происходит из-за соглашения имен, присутствующего в Rails. 3. В файл config/routes.rb вносим следующие изменения:
4. Копируем функции из контроллера app/controllers/products_controller.rb в app/controllers/admin/products_controller.rb 5. Копируем все файлы шаблонов из папки app/views/products в папку app/views/admin/products; 6. В файле контроллера админки ищем все перенапрвления redirect_to (скорей всего их три)
7. Во всех файлах шаблонов для админки делаем перенаправления на шаблоны админки <td><%= link_to 'Show', product%></td> ===> <td><%= link_to 'Show', [:admin, product] %></td> new_product_path ===> new_admin_product_path edit_product_path(product) ===> edit_admin_product_path(product) products_path ===> admin_products_path вот и все! Добавлено @ 18:26 Остался еще вопрос: При создании или редактировании продукта, необходимо нажимать на кнопку для подтверждения. Но нажатие на кнопку перенаправляет нас в общую часть приложения, а не админскую. Почему этот редирект не работает так, как нужно?
Это сообщение отредактировал(а) principala - 9.1.2011, 19:55 |
||||||||||
|
|||||||||||
| principala |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.1.2011 Репутация: нет Всего: нет |
...и я продолжаю отвечать на свои вопросы! =)
кнопки не перенаправляли меня в админку, т.к. вызывался не тот шаблон. В файле app/views/admin/products/_form.html.erb первую строчку:
исправил на:
теперь работает ВСЕ. Это сообщение отредактировал(а) principala - 16.1.2011, 10:25 |
||||
|
|||||
![]()
|
| Правила форума "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. |