将整数转换为星级

Converting integer to star rating

首先是我的文件结构

application_helper.rb

module ApplicationHelper
  def show_stars(review)
    image_tag review.rating
  end
end

控制器:customers_controller.rb

class CustomersController < ApplicationController
  before_action :require_admin
  # reviews
  def reviews
    @reviews = Review.all
  end
end

查看:reviews.haml

%table.table.table-striped
  %thead
    %tr
      %th{ :style => "width:8%" } Ratings
      %tbody
        - @reviews.each do |review|
          %tr
            %td{ :style => "text-align:center" }= review.rating.show_stars

我在我的架构中 rating 设置为一个整数,我想做的是通过应用程序助手将整数转换为星形图像。然而,当我尝试使用我的方法时,我最终得到

undefined method `show_stars' for 4:Fixnum // 4 is my rating value

我在这里错过了什么?我刚刚开始 ruby,所以任何建议都将不胜感激。

您的方法接受评级(签名show_stars(review)),因此请正确使用它:将review.rating.show_stars更改为show_stars(review)