Как сделать шаблон .builder в ruby ​​на рельсах? - PullRequest
3 голосов
/ 22 февраля 2010

Я действительно запутался в том, как использовать шаблоны для сборки в ruby ​​на рельсах. У меня есть простой код контроллера:

class ProductsController < ApplicationController

  def index
    @products = Product.all
    respond_to do |format|
      format.html # index.html.erb
      format.xml  # index.builder
    end
  end

end

но это, похоже, не работает. Мой файл index.builder выглядит так:

xm = Builder::XmlMarkup.new(:target=>$stdout, :indent=>2)
xm.instruct!          
  xm.index{
    @index.each do |i|
      xm.country(i.country.name)
      xm.value(i.value)
      xm.year(i.year)
    end
  }

но я продолжаю получать пустой ответ. Похоже, я не понимаю здесь чего-то фундаментального.

1 Ответ

9 голосов
/ 22 февраля 2010

Переименуйте index.builder в index.xml.builder, и тогда объект xml уже доступен в index.builder, так что вы можете настроить свой файл построителя так:

xml.instruct!
xml.posts do
  @products.each do |product|
    xml.product do
      xml.title product.title
      xml.body product.body
      xml.price product.price
    end
  end
end

Подробнее здесь: http://danengle.us/2009/05/generating-custom-xml-for-your-rails-app/

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