[英]Ruby/Rails - Is it possible to perform ruby calculations in the view?
我正在嘗試執行一個在我看來到目前為止必須在視圖中的計算。
在我看來
<% for post in @user.posts %>
<%= post.tasks.count / @projects.tasks.count %>
<% end %>
我正在嘗試顯示百分比....當我放置 <%= post.tasks.count %> 本身時,它顯示 2 而 <%= @projects.tasks.count %> 它顯示 4。
但是當我嘗試執行 <%= post.tasks.count / @projects.tasks.count %> 時,它顯示 0 not.50 或 1/2。
我在視圖中而不是 controller 中執行此邏輯的原因是我想顯示 for 循環的每次迭代的動態百分比
你得到零的原因是兩個數字都是整數,所以它正在做 integer 除法。 如果您將第一個轉換為浮點數,那么您將得到一個浮點數。
如果要將數字格式化為百分比,還需要使用number_to_percentage
幫助器。 所以你的視圖代碼看起來像這樣:
<%= number_to_percentage( post.tasks.count.to_f / @projects.tasks.count ) %>
並且在您看來會產生50%
的 output。 如果您需要進一步自定義它,您還可以為該助手指定精度和一些格式選項。
Integer 算術產生 integer 結果。 嘗試:
<%= post.tasks.count.to_f / @projects.tasks.count %>
要控制顯示精度等,您可能需要以下內容:
<%= "%4.2f" % (post.tasks.count.to_f / @projects.tasks.count) %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.