2016-02-25 5 views
-1

Два вопроса.рамы маршрутизации в erb рельсы

Номер 1:

Это, как я создаю рамки в .erb файлов.

<frameset rows="170,*" frameborder="0" border="0" framespacing="0"> 
    <frame name="topNav" src="top_nav.html"> 
    </frame> 
</frameset> 

У меня есть еще несколько кадров внутри фреймового набора. Если я запускаю этот код, я получаю «Нет совпадений маршрута [GET]» /top_nav.html. Вопрос: действительно ли необходимо создавать/настраивать маршруты всех местоположений src, указанных в теге фрейма?

Номер 2:

В моем приложении мне нужно будет очень часто менять ссылки в своем приложении. Если мне нужно рассмотреть маршрутизацию, мне нужно будет создавать маршруты чаще. Правильно? Как я могу избежать маршрутов? Если я добавлю ссылку в свое приложение, она должна работать независимо от того, добавили ли я маршруты или нет.

+0

Я должен спросить, почему вы используете фреймы? – kjmagic13

+1

Необходимость часа? :) –

+0

@ kjmagic13 На самом деле, у меня уже есть html-коды для webapp, и мне нужно перенести его на рельсы с наименьшим возможным кодом. –

ответ

1

Вы можете поместить статическую html-страницу в свою/публичную папку, которая будет обходить маршрутизацию маршрутов и быть подается непосредственно, если, например, кто-то его website.com/top_nav.html, он будет обслуживать public/top_nav.html. Причина, по которой вы получаете эту ошибку, не посещая ее, состоит в том, что кадр пытается загрузить src при загрузке фрейма.

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

# config/rotues.rb 
# make sure this is at the BOTTOM of your routes.rb 
match "*path", to: "application#default", via: :all 

, а затем в приложении контроллер:

def default 
    render nothing: true 
end 

Это, вероятно, не лучший способ справиться с этим. Вам лучше всего иметь ссылки, которые вы хотите создать и обслуживать динамически, но это будет зависеть от того, что делает ваше приложение.

+1

общая папка? Где находится общая папка в приложении rails? Btw, это не отвечает на мой вопрос. Вопрос в том, что я хочу создавать страницы/ссылки, но не хочу создавать маршруты. Возможное? –

+0

В вашем проекте рельсов должна быть папка с именем 'public' в корневой папке проекта. Все статические файлы или папки, размещенные здесь, будут обслуживаться через сервер, не затрагивая маршруты вообще. –

Смежные вопросы