Html 如何使用以图标作为参数的rails帮助器方法?

Html 如何使用以图标作为参数的rails帮助器方法?,html,ruby-on-rails,Html,Ruby On Rails,我想创建一个给我星级的方法。这些星星将来自丰塔和。我创建了下面的方法,它接受浮动评级。0.0至5.0,增量为0.5。半颗星将是,而星星将是。如果评级为3.5,则预计返回3×星+1×半星 我以前从未做过这样的事。在本例中,我最初的想法是将star_评级放在Ruby helper posts_helper.rb中 在post的视图index.html.erb中,我确实这样做了,但它抛出了一个错误 简而言之,我有一个ruby方法,它从model post.rating和两个图标fa-star和fa-s

我想创建一个给我星级的方法。这些星星将来自丰塔和。我创建了下面的方法,它接受浮动评级。0.0至5.0,增量为0.5。半颗星将是,而星星将是。如果评级为3.5,则预计返回3×星+1×半星

我以前从未做过这样的事。在本例中,我最初的想法是将star_评级放在Ruby helper posts_helper.rb中

在post的视图index.html.erb中,我确实这样做了,但它抛出了一个错误

简而言之,我有一个ruby方法,它从model post.rating和两个图标fa-star和fa-star-half中获取一个值。将ruby方法与fontawesome的图标结合使用以获得预期的星级的最佳实践是什么


我知道有几个宝石可以做到这一点,但我试图从头开始,以帮助我了解更多的rails

我真的不确定这是否正确。 但这应该是可行的:

创建部分文件

# _rating.html.erb
<%= fa_icon "#{icon_name}" %>

是否有理由需要将星号和半星号作为参数传递?这些论点会与上面的不同吗?是的,它们是原始设计的一部分。参数本身可以更改,但输入/输出需要是评级->功能->显示星星和半星,具体取决于评级
# _rating.html.erb
<%= fa_icon "#{icon_name}" %>
# view.html.erb
<%= show_raiting(3.3) %>
#***_helper.rb
def show_raiting(rating)
    rating = rating.to_f
    if rating.present?
      output_stars = ''
      rating.floor.times do
        output_stars += render partial: 'path/to/your/rating', locals: { icon_name: 'star' }
      end
      output_stars += render partial: 'path/to/your/rating', locals: { icon_name: 'star-half' } unless rating % 1 == 0
      output_stars.html_safe
    end
end