在Ruby on Rails中计算嵌套字段的百分比可以通过以下步骤实现:
NestedModel
,其中包含一个嵌套字段nested_field
,你可以在该模型中添加以下方法:class NestedModel < ApplicationRecord
# ...
def calculate_percentage
total = self.nested_field.values.sum.to_f
percentage = {}
self.nested_field.each do |key, value|
percentage[key] = (value.to_f / total * 100).round(2)
end
percentage
end
# ...
end
上述代码中,calculate_percentage
方法会计算nested_field
中每个键值对的百分比,并返回一个哈希表,其中键是原始键,值是对应的百分比。
calculate_percentage
方法并将结果传递给视图展示。假设你有一个控制器叫做NestedModelsController
,你可以在该控制器的动作中添加以下代码:class NestedModelsController < ApplicationController
# ...
def show
@nested_model = NestedModel.find(params[:id])
@percentage = @nested_model.calculate_percentage
end
# ...
end
上述代码中,show
动作会找到对应的NestedModel
对象,并调用calculate_percentage
方法计算百分比,然后将结果存储在@percentage
实例变量中。
@percentage
变量展示计算结果。假设你有一个视图叫做show.html.erb
,你可以在该视图中添加以下代码:<h1>Nested Model Details</h1>
<% @percentage.each do |key, value| %>
<p><%= key %>: <%= value %>%</p>
<% end %>
上述代码中,使用循环遍历@percentage
哈希表,将每个键值对展示为一个段落,其中键是字段的名称,值是计算得到的百分比。
这样,当你访问NestedModelsController
的show
动作时,你将看到嵌套字段的百分比在视图中展示出来。
请注意,以上代码仅为示例,实际应用中需要根据你的数据结构和需求进行适当的修改。
领取专属 10元无门槛券
手把手带您无忧上云