Ruby On Rails in UA Icon_home Главная Add to bookmarks Translate translate Profile Войти
Регистрация Форум Блоги Пользователи Список джемов Rails проекты      Поиск   

Ruby On Rails in UA/Программирование на ROR/routes в рельсах

2008-06-10 09:19:37 Ответить  
Junior
Junior
Адрес: Odessa
Сообщений: 100
Регистр: 2007-07-25
его блог 0 сообщ.
routes в рельсах
  •  
Столкнулся стакой проблемой:
Необходимо, что бы при вызове акшина, происходил редирект на xml файл который лежит на ftp-шнике. Т.е. примерно так
"contoller_name/action_name" -> "public/test.xml" (что-то типа такого). Хотел справиться с этой траблой при помощи Route, но никак не получаеться.

Буду благодарен если кто-нить подскажет как это можно побороть (доки с оффсайта еще не поборол).
2008-06-10 14:14:10 Ответить  
keph
Yaroslav Syachin
Адрес:
Сообщений: 17
Регистр: 2007-08-23
его блог 0 сообщ.
проблема при работе с routes в рельсах
  •  
Нужно закрыть все инвалидные адреса. Последний мэп закрывает только инвалидные контроллеры, но не методы, если указан валидный контроллер. В предпоследнем мэпе, если оставить requirements = {...}, приложение поламается и напишет, что нету роута для :action = "show", :year = "...", :month = "...", :day = "...", :id = "...", но такой роут есть (см. последний map.article_list).

Может быть кто-то уже сталкивался с подобной проблемой?
Ниже код:

2008-06-10 10:09:34 Ответить  
admin
Ruslan Voloshin
Адрес: odessa
Сообщений: 1293
Регистр: 2007-03-13
его блог 40 сообщ.
RE: проблема при работе с routes в рельсах
  •  
возможно я ошибаюсь но ты в requirements написал что :action = /rss_feed|list|new|edit/ здесь нет show метода
так что думаю чтобы у тебя отрабатывало это тебе нужно эту строку перенести в самый верх если ты включишь requirements
------------
Занимаюсь вебом и продвижением сайтов.
2008-06-09 10:47:27 Ответить  
keph
Yaroslav Syachin
Адрес:
Сообщений: 17
Регистр: 2007-08-23
его блог 0 сообщ.
RE: RE: проблема при работе с routes в рельсах
  •  
Ты действительно ошибаешься, так как все роуты с методом show прописаны выше, а роуты выполняются (проверяются) последовательно, сверху вниз. Если же поставить строку map.connect ':controller\:action\:id', ... выше, то роуты с show и ' ' не захватятся вообще. Что касается добавления в requirements метода show, баг всё равно тот же.
2008-06-09 10:47:24 Ответить  
keph
Yaroslav Syachin
Адрес:
Сообщений: 17
Регистр: 2007-08-23
его блог 0 сообщ.
RE: routes в рельсах
  •  
Роуты заработали. Квантификатор \d{+} записан неверно, правильная запись или \d+, или \d{1,}, и всё отлично работает.


Но есть ещё одна проблема. Нужно проверить валидный ли id и если нет, то вывести предупреждение.
Назадназад Новыйновый Ответитьответить
Ключевые слова:
Гости: 189 Онлайн: 0
Rambler's Top100
О проекте по всем вопросам обращайтесь на support
Rubyclub.com.ua Copyright © 2007 - 2008