2013-07-30 9 views
0

Я пытаюсь выяснить, как сделать только html с Rabl. У меня есть частичный html без объекта, пока все, что я вижу, являются примерами частичных объектов с объектами. Если я попробую его без объекта, он просто (явно) выдает ошибку.Рендеринг только html с Rabl

Ближайший я получил:

node(:content) do 
    partial("api/v1/api/partials/tips") 
end 

Here is the documentation for Rabl.

UPDATE

Я в конечном итоге просто идти с этим ниже. Ясно? По какой-то причине, когда я попробовал это, первый раз это не сработало. Поэтому для отправки только HTML в ответах API это работает хорошо.

def tips 
    render partial: "api/v1/api/partials/tips" 
    end 
+1

«система для генерации JSON, XML, MessagePack, PList и BSON». - он ничего не говорит о создании HTML. Почему бы не использовать обычный ERB? –

+0

Частичный erb. Мне нужно отправить html в приложение iOS, я открыт для лучших идей :). Спасибо за ваш вклад. – Dol

ответ

0

Это может быть достигнуто путем предоставления шаблона ERB внутри узла Rabl:

object @user 

node(:html_content) do |user| 
    @user = user 
    template = Rails.root.to_s + '/app/views/api/users/show.html.erb' 
    ERB.new(File.read(template)).result(self.binding) 
end 
3

в представлении RABL, например show.v1.rabl вы в состоянии вынести мнение частичное следующее (rails 4.1.2):

object @your_object 

code :html do 
    context_scope.controller.render_to_string(

    # from app/views/ 
    partial: 'path/to/show.html.erb', 

    # locals (if needed) 
    locals: { 
     your_object: @your_object 
    } 

) 
end 
Смежные вопросы