Не могу запустить 'scaffold: product' в моем контроллере - PullRequest
0 голосов
/ 20 июня 2009

Я недавно начал с книги «Гибкая веб-разработка с Rails», написанной прагматичными программистами после того, как получил некоторый ранний опыт работы с rails, но хотел более структурированный подход.

Я с радостью слежу за книгой, когда меня просят сделать администратора контроллера, чтобы я мог редактировать стандартную модель продукта CRUD, которую я уже создал. Согласно книге, я должен добавить строку «scaffold: product» в мой admin_controller, и она должна работать как чудо. Что ж, мои рельсы только говорят: «неопределенный метод scaffold для AdminController: Class».

Я знаю, что он использует более старую версию rails в книге, например, 1.8 или что-то в этом роде, и я знаю, как запустить обычный скаффолд, но не знаю, как заставить admin_controller наследовать все сочные детали CRUD из Product, как предполагает утверждение books. Я попытался скопировать все представления и сгенерированный скаффолдом код контроллера из product_controller для администратора, и это прекрасно работает, но мне было действительно интересно, как правильно это сделать.

Мой admin_controller:

class AdminController < ApplicationController
 scaffold:product
end

Ответы [ 2 ]

2 голосов
/ 20 июня 2009

Упоминаемая вами функциональность, динамические леса , была удалена в Rails 2.

Я рекомендую использовать обычные строительные леса и переходить оттуда, если вы новичок в Rails. Как только вы приобретете дополнительный опыт, вам будет достаточно быстро создать собственные действия контроллера.

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

0 голосов
/ 20 июня 2009

В настоящее время лучшим методом является использование генератора скаффолдов, а не метода скаффолдов. Метод скаффолдов был впечатляющей демонстрацией, когда рельсы были впервые разработаны, но он слишком много скрывал, и вы не могли изменить только те биты, которые вам нужны. Чтобы решить эту проблему, скаффолды вместо этого были созданы как генераторы, так как они предоставляют код и позволяют вам легче редактировать его. Метод scaffold был затем удален из Rails, чтобы предотвратить его использование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...