Создание скаффолда с другим именем из модели - PullRequest
0 голосов
/ 23 ноября 2011

Можно ли сгенерировать и подготовить для существующей модели с другим именем, не связанным напрямую с именем моей модели?

Допустим, у меня есть эта модель Post, и у меня уже есть контроллер с именем posts_controller, но у меня там есть куча методов, которые я уже использую, но с течением времени мне нужно сгенерировать каркас для заполните мои сообщения в таблице через модель Post, но если я попытаюсь

rails g scaffold Post field:type.... --skip--migration

Генератор все еще будет пытаться создать контроллер с именем posts_controller. Можно ли указать имя контроллера, которое он будет использовать / генерировать, примерно так: my_awesome_scaffold_controller?

Спасибо.

======= ОБНОВЛЕНИЕ ========

То, что я хочу иметь в my_awesome_scaffold_controller, - это полный каркас для моего модельного поста index, new, edit, show, create, update, delete для * Модель 1027 * без использования post_controller уже используется для других вещей, сделанных кем-то другим, и я не хочу портить там код.

1 Ответ

1 голос
/ 23 ноября 2011

хорошо ... я не уверен, что то, что вы делаете, лучше, чем просто, скажем, переместить существующий контроллер_постов куда-нибудь еще (например, в библиотеку или что-то еще), но оставаться верным тому, что вы на самом деле спросили ... .

Один вариант (если вы не против добавить действия обратно в posts_controller)

  1. скопировать "post_controller.rb" в другое место
  2. запустить scaffold как обычно с "post" (он будет называться posts_cotroller.rb)
  3. переименуйте "posts-controller.rb" в "my_awesome_posts_controller.rb"
  4. скопировать обратно posts_controller.rb
  5. вытащите все из "my-awesome" и вставьте его в верхнюю / нижнюю часть существующего posts_controller.rb

очевидно, что это не сработает, если для posts_controller уже выполнено какое-либо из действий RESTful - это также означает, что вы и другой человек работаете над одним файлом (хотя, вероятно, в разных областях).

В качестве альтернативы вы можете указать пространство имен своей эшафот. Похоже на admin/posts_controller.rb (или в вашем случае: my_awesome/posts_controller.rb)

Здесь есть старое учебное пособие: http://icebergist.com/posts/restful-admin-namespaced-controller-using-scaffolding Не могу поручиться за то, насколько это хорошо / актуально для вас.

...