我还在学习RoR,而我正面临这个问题,我不知道如何接近或解决(以优雅和友好的方式)
对于上下文,我有一个烹饪配方(控制器,视图,模型)完整的CRUD,一切正常。现在,这个食谱适用于10个人。但是这个特殊的时间,我将不得不为15人做饭,或者只有5人做饭。它不是新配方,只是配方的比例/比例。
我应该创建一个新类来处理这个临时项吗? 创建非CRUD操作?
欢迎任何想法或评论=) 谢谢!
答案 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
了。
假设:所有数字都是浮点数,如果不是这种情况,您可能需要正确投射它们。