我正在创建一个Ruby on Rails应用程序,该应用程序从用户那里获取某些输入并呈现报告。我知道如何将ruby代码插入erb文件,但是当我尝试将其插入div标签的style属性中时,它将无法正常工作。
我已经尝试在控制器中为infuencer_reports进行计算,然后将实例变量插入到show.html.erb文件中。
<div
class="pie pie1"
style="margin: auto;width: 100px;height: 100px;border-radius: 50%;background-origin: border-box;background-image: conic-gradient(
#237e05 0 <%= @fitness_section %>deg,
#0e89c2 0 <%= @food_section %>deg,
#dd9b27 0 <%= @fashion_section %>deg,
#8922c9 0 <%= @photography_section %>deg,
#1ae6c7 0 <%= @kids_family_section %>deg,
#f05d84 0 <%= @travel_section %>deg,
#c94e22 0
);"
></div>
@fitness_section = ((@report.total_category_likes('Fitness')/@report.total_likes)*360)
@food_section = ((@fitness_section + @report.total_category_likes('Food')/@report.total_likes)*360)
@fashion_section = ((@food_section + @report.total_category_likes('Fashion')/@report.total_likes)*360)
@photography_section = ((@fashion_section + @report.total_category_likes('Photography')/@report.total_likes)*360)
@kids_family_section = ((@photography_section + @report.total_category_likes('Kids/Family')/@report.total_likes)*360)
@travel_section = ((@kids_family_section + @report.total_category_likes('Travel')/@report.total_likes)*360)
它看起来应该像是带有不同颜色部分的饼形图,但是它是渐变中最后一种颜色的一个完整圆圈。
答案 0 :(得分:0)
对于每个结果,您都应尝试在至少一个这样的数字上添加浮点数:
((@report.total_category_likes('Fitness').to_f/@report.total_likes)*360)
也许在之后添加舍入方法
((@report.total_category_likes('Fitness').to_f/@report.total_likes)*360).round
例如
360 * (100 / 124) => 0
360 * (100 / 124.to_f) => 290.3225806451613
(360 * (100 / 124.to_f)).round => 290