将整数转换为星级
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)
首先是我的文件结构
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)