簡體   English   中英

Ruby/Rails - 是否可以在視圖中執行 ruby 計算?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM