Chr*_*len 1 ruby ruby-on-rails view
我正在尝试执行一个计算,它看起来像我到目前为止一直在视图中.
在我看来
<% for post in @user.posts %>
<%= post.tasks.count / @projects.tasks.count %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我正在尝试显示一个百分比....当我自己放置<%= post.tasks.count%>时它显示2和<%= @ projects.tasks.count%>它显示4.
但是当我尝试<%= post.tasks.count/@ projects.tasks.count%>时,它显示0不是.50或1/2.
我在视图而不是控制器中执行此逻辑的原因是我想显示for循环的每次迭代的动态百分比
你得到零的原因是两个数字都是整数,所以它正在进行整数除法.如果你将第一个转换为浮点数,那么你将得到一个浮点数作为结果.
如果要将数字格式化为百分比,您还需要使用number_to_percentage帮助程序.所以你的视图代码看起来像这样:
<%= number_to_percentage( post.tasks.count.to_f / @projects.tasks.count ) %>
Run Code Online (Sandbox Code Playgroud)
并会50%在您的视图中生成输出.如果需要进一步自定义,也可以为该帮助程序指定精度和一些格式选项.