Много строительных лесов с похожей компоновкой и контроллером в рельсах

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

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


person Zakaria    schedule 14.02.2015    source источник


Ответы (3)


В Rails вы можете настроить макеты по умолчанию, используемые генератором. В Интернете доступно несколько учебных пособий.

Вы можете изменить файл модели, контроллер и/или шаблоны действий. Как объяснено в этом ответе

Вы можете переопределить шаблоны представления по умолчанию, создав свои собственные шаблоны в папке lib/templates/erb/scaffold вашего приложения rails.

lib/templates/erb/scaffold/_form.html.erb
lib/templates/erb/scaffold/edit.html.erb
lib/templates/erb/scaffold/index.html.erb
lib/templates/erb/scaffold/new.html.erb
lib/templates/erb/scaffold/show.html.erb  
person Simone Carletti    schedule 14.02.2015

Вы можете использовать макет для решения этой проблемы. Создайте файл представления html.erb в папке views/layouts и соответствующим образом установите макеты, используя layout :layout_file_name в вашем контроллере.

person sansarp    schedule 14.02.2015
comment
нет, я создаю каркас, и у меня есть index, show, new, _form и редактировать все .heml.erb, и мне пришлось изменить эти представления, я хочу настроить эти представления. - person Zakaria; 14.02.2015
comment
Если у вас есть некоторые части вашего представления, скажем, общие части верхнего и нижнего колонтитула, то в этом случае вы можете использовать частичные файлы и включать эти частичные файлы, где это необходимо. Если это не так, и если вы не используете макеты, вам необходимо настроить каждое представление отдельно. Надеюсь, это прояснит ваше замешательство. - person sansarp; 14.02.2015

Если вы ищете легкую альтернативу генератору скаффолдов, вы можете просто сгенерировать ресурс. Это даст вам модель, контроллер и папку представления без стандартного кода каркаса. Это даст вам пустой набор представлений и пустой контроллер для работы.

$ rails generate resource MODEL attributes 
person JeffD23    schedule 14.02.2015