Множественный рендеринг в контроллере rails

Здравствуйте, я пытаюсь получить фрагменты html в виде одной строки в вызове ajax. Я использую гем public_activity. Так как я не нашел способ вызвать partial(render_activity) из контроллера. Я попытался использовать следующий код, но получаю сообщение об ошибке, говорящее о том, что я не могу сделать более одного вызова рендеринга. Любые идеи о том, как я могу достичь того, чего хочу?

    @new_feeds.each_with_index do |new_feed|
      if new_feed.trackable_type == "CompanyDocument" 
        if new_feed.key == "company_document.create"
          html = render partial: 'public_activity/company_document/create', :locals => { :activity => new_feed }
        elsif new_feed.key == "company_document.update"
          html = render partial: 'public_activity/company_document/update', :locals => { :activity => new_feed }
        end
      elsif new_feed.trackable_type == "CompanyVideo" 
        if new_feed.key == "company_video.create"
          html = render partial: 'public_activity/company_video/create', :locals => { :activity => new_feed }
        elsif new_feed.key == "company_video.update"
          html = render partial: 'public_activity/company_video/update', :locals => { :activity => new_feed }
        end
      end
   end

person Flezcano    schedule 26.06.2014    source источник
comment
Я думаю, что вы пропустили end, но это может быть ошибка копирования/вставки. Вы можете вызвать render только один раз, как говорит ошибка, я бы предложил использовать вашу логику, чтобы выбрать правильный частичный и передать ему коллекцию @new_feeds, а затем выполнить цикл внутри самого соответствующего частичного, а не контроллера.   -  person martincarlin87    schedule 26.06.2014
comment
заменить render на render_to_string   -  person Unixmonkey    schedule 26.06.2014
comment
@ martincarlin87 да, это была ошибка копирования/вставки, я мог бы это исправить, я ценю ваш ответ, но я думаю, что ответ от Unixmonkey был бы правильным ответом, было бы хорошо, если бы вы могли указать его как ответ, чтобы я мог пометить его как правильный.   -  person Flezcano    schedule 26.06.2014


Ответы (1)


Замените все вхождения render на render_to_string

person Unixmonkey    schedule 26.06.2014