临时缩放或从记录中乘以值?

时间:2017-08-19 22:52:08

标签: ruby-on-rails

我还在学习RoR,而我正面临这个问题,我不知道如何接近或解决(以优雅和友好的方式)

对于上下文,我有一个烹饪配方(控制器,视图,模型)完整的CRUD,一切正常。现在,这个食谱适用于10个人。但是这个特殊的时间,我将不得不为15人做饭,或者只有5人做饭。它不是新配方,只是配方的比例/比例。

我应该创建一个新类来处理这个临时项吗? 创建非CRUD操作?

欢迎任何想法或评论=) 谢谢!

1 个答案:

答案 0 :(得分:0)

创建concern(或视图助手,具体取决于我是否要在控制器级别或视图中进行计算)。

Concerns必须放在控制器视图的concern文件夹中( app / controllers / concerns

然后加载到您的ApplicationController application_controller.rb )中,以便所有其他控制器都可以访问。

在您的情况下,问题看起来像这样

module RecipeScale
  def recipe_scale(ingredient_value, init_numb_of_people, new_numb_of_people)
    return ( ingredient_value / init_numb_of_people ) * new_numb_of_people
  end
end

然后通过添加 application_controller.rb include RecipeScale

将其加载到您的应用中

现在您可以在应用中拨打recipe_scale了。

假设:所有数字都是浮点数,如果不是这种情况,您可能需要正确投射它们。