Есть ли в каждом приложении rails приложение default.html.erb по умолчанию, созданное в их макетах? - PullRequest
0 голосов
/ 01 июня 2011

У меня просто было общее сомнение, которое я хотел очистить с помощью Rails. В настоящее время я работаю над Rails 2.0.2 для конкретных проектов, и у меня были сомнения, особенно связанные с этой версией Rails.

Я сделал базовый эшафот в своем приложении rails на "posts" ... что-то вроде ruby script/generate scaffold posts. Это создало для меня файл posts.html.erb в моем приложении / views / layouts ... Я видел много блогов / скриншотов, которые они говорят, когда мы добавляем файлы Javascript (JS), например, например, для. тех, кто реализует jquery и т. д., мы должны включить необходимые файлы в наши "application.html.erb" файлы ... Теперь, поскольку у меня нет ничего точно придуманного в моем приложении, не делает ли Rails по умолчанию мой posts.html.erb в моих макетах как эквивалент application.html.erb ..?

Или мне нужно явно создать application.html.erb в моем приложении rails?

Мое основное беспокойство в связи с этим вопросом заключается в том, чтобы файлы JS были включены в случае, если у меня есть что-то вроде posts.html.erb или это .. это должно быть сделано только в application.html.erb ..

Спасибо ..

Ответы [ 3 ]

1 голос
/ 01 июня 2011

Для PostsController Rails сначала ищет файл app/views/layouts/posts.html.erb. Только если он не найдет этот макет для конкретного контроллера, он вернется к app/views/layouts/application.html.erb.

0 голосов
/ 01 июня 2011

файл app / views / layouts / application.html.erb должен был быть сгенерирован для вас, когда вы делали "rails new ProjectName"

убедитесь, что у вас есть один ... он контролирует общий макет вашего сайта.

0 голосов
/ 01 июня 2011

делает ли Rails по умолчанию мой posts.html.erb в моих макетах как эквивалент application.html.erb ..?

Да.Для PostsController он (по соглашению) будет принимать layouts/posts.html.erb в качестве общего шаблона макета.

Если вы удалите этот файл, он вернется к макету layouts/application.html.erb.

Моя главная проблема, стоящая за этим вопросом, заключается в том, что файлы JS будут включены в случае, если у меня есть что-то вроде posts.html.erb или ... это должно быть сделано только в application.html.erb ..

Вы должны будете включить все необходимые JS / CSS в каждый макет, так как нет наследования макетов.

Если вам нужно несколько макетов, вы можете реорганизовать секции в партиалы (например: для <head>бит).

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