Здравствуйте, я пытаюсь получить фрагменты 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
end
, но это может быть ошибка копирования/вставки. Вы можете вызватьrender
только один раз, как говорит ошибка, я бы предложил использовать вашу логику, чтобы выбрать правильный частичный и передать ему коллекцию@new_feeds
, а затем выполнить цикл внутри самого соответствующего частичного, а не контроллера. - person martincarlin87   schedule 26.06.2014render
наrender_to_string
- person Unixmonkey   schedule 26.06.2014