Как мне сделать частичку другого формата в Rails? - PullRequest
112 голосов
/ 04 декабря 2008

Я пытаюсь сгенерировать ответ JSON, который включает в себя некоторый HTML. Таким образом, у меня есть /app/views/foo/bar.json.erb:

{
  someKey: 'some value',
  someHTML: "<%= h render(:partial => '/foo/baz') -%>"
}

Я хочу, чтобы он отображал /app/views/foo/_baz.html.erb, но он будет отображать только /app/views/foo/_baz.json.erb. Передача :format => 'html' не помогает.

Ответы [ 11 ]

1 голос
/ 23 июня 2010

Я наткнулся на эту тему, когда пытался отобразить XML-фрагмент в другом файле представления xml.builder. Ниже приведен хороший способ сделать это

xml.items :type => "array" do
    @items.each do |item|
        xml << render(:partial => 'shared/partial.xml.builder', :locals => { :item => item })
    end
end

И да ... Полное имя файла работает и здесь ...

...