2013-11-19 5 views
0

У меня есть приложение Rails 3, где пользователи могут добавить рейтинг к обзору, который представляет собой целое число от 1 до 5. Следуя за Райан Бейтс railscast, я хочу отобразить этот рейтинг, используя звездную систему, и я, таким образом, добавил эти методы к моему ApplicationController:Звезда рендеринга на Rails 3 приложение

def render_stars(rating) 
    content_tag :div, star_images(rating), :class => 'stars' 
end 

def star_images(rating) 
    (0...5).map do |position| 
    star_image(((rating-position)*2).round) 
    end.join 
end 

def star_image(value) 
    image_tag "/images/star-#{star_type(value)}.png", :size => '15x15' 
end 

def star_type(value) 
    if value <= 0 
    'off' 
    elsif value == 1 
    'half' 
    else 
    'on' 
    end 
end 

в моих отзывах # указательным зрении, когда я добавить строку:

<%= render_stars(review.rating) %> 

методы прекрасно работает, но вместо того, чтобы получать образа звезд на мой взгляд, я получаю вместо этого html:

<img alt="Star-on" height="15" src="/images/star-on.png" width="15" /><img alt="Star-on" height="15" src="/images/star-on.png" width="15" /><img alt="Star-on" height="15" src="/images/star-on.png" width="15" /><img alt="Star-on" height="15" src="/images/star-on.png" width="15" /><img alt="Star-off" height="15" src="/images/star-off.png" width="15" /> 

Любая идея, почему она не показывает изображения, и вместо этого я получаю эти строки?

Благодаря

ответ

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