Почему этот HTML-код отображается как одна гигантская строка, а не как оцениваемый код? - PullRequest
0 голосов
/ 17 апреля 2011

Этот код в частичном коде:

<div class ="vote_updated">
    <p><%= event.actor %> <% case event.subject.value
        when 1
            puts " upvoted"
        when -1
            puts " downvoted"
        when 0
            puts " removed a vote from"  
        end %> a song. </p>
    <div class="video_div">
        <%= render 'videos/video', :video => event.secondary_subject %>
    </div>
</div>

отображается как одна большая строка вместо результирующего HTML-кода оцениваемого встроенного рубина.

Этот код отображаетчастичное:

<div id="feed_div">
    <%= render_timeline current_user.recent_events %>
</div>

, и это метод render_timeline в application_helper.rb:

def timeline(events)
  events.map do |event|
    render(:partial => "timeline_events/#{event.event_type}", :locals => {:event => event})
 end.join
end

1 Ответ

2 голосов
/ 17 апреля 2011

Возможно, ваш вызов .join в timeline помечает строку как небезопасную - возможно, попробуйте изменить ее на:

def timeline(events)
  events.map do |event|
    render(:partial => "timeline_events/#{event.event_type}", :locals => {:event => event})
 end.join.html_safe
end

и посмотрите, поможет ли это: -)

...