Рендеринг XML, установка значения для поля без базы данных - PullRequest
0 голосов
/ 02 февраля 2011

У меня есть модель 'Feast', у которой есть метод date_for_year (year), который вычисляет год.Это не просто поле базы данных для каждого года, но его нужно вычислять на лету.

Имея обычный файл представления, я могу просто перебирать объект @feasts и выводить каждую дату, просто вызывая feast.date_for_year (год) в каждой строке.

Но как мне это сделать для автоматически сгенерированного вывода XML?Мне нужен способ передать год всему набору, чтобы в моем выводе XML была указана дата.Кто-нибудь знает, как это сделать?

На данный момент у меня нет ничего больше, чем просто стартовая строка

render :xml => Feast.where(:date_for_year => params[:year]).all

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

Большое спасибо за вашу помощь

  • Арне

1 Ответ

0 голосов
/ 03 февраля 2011

Я просто решил это сам. Было два способа сделать это.

  1. Добавление моего пользовательского метода в @attributes после установки года.

  2. Пользовательский вывод XML.

Я предпочел последнее, поскольку это был более чистый способ реализовать его, imho. Вот как я это сделал: http://danengle.us/2009/05/generating-custom-xml-for-your-rails-app/

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