Обновление Rails: рендеринг файла rxml вместо хамла - PullRequest
0 голосов
/ 07 января 2011

Я обновляю старое приложение Rails 1.x до 2.3.10 и столкнулся с проблемой рендеринга представлений.У меня есть контроллер, с которым связаны два представления: index.haml и index.rxml.До обновления все работало как положено.После перехода на Rails 2 тот же код (без изменений) начал автоматически отображать представление XML в конце блока wants.html, когда оно должно отображать представление haml.Когда я переименовываю файл index.rxml во что-то другое (например, foo.rxml), он успешно находит и обрабатывает файл index.haml.

Что изменилось в логике рендеринга представления с Rails 1 на Rails 2,вызывая это?

1 Ответ

3 голосов
/ 08 января 2011

Я не работал с Rails 1 (появился в Rails 2), но я думаю, это потому, что Rails 2 использует .html.erb вместо .rhtml То же самое касается .xml.erb вместо .rxml. И то же самое произошло с HAML: .haml становится .html.haml. Не знаю, является ли это причиной вашей проблемы, но это способ создания представлений в Rails 2.

EDIT

Также, если вы хотите визуализировать XML в Rails 2, вам нужно добавить следующее в ваш контроллер:

respond_to do |format|
  format.xml { render :xml_view_name } 
end
...