如果你不知道,这是一个初学者的问题。
在学习了一点Ruby之后,我冒险尝试了Rails,但在组织方法方面遇到了困难。我正在构建一些应该在某人创建某些东西时获取数据/参数的东西,但我不想像推文或博客文章那样显示它,我想在一些数学计算中将它们用作变量,我然后想要显示的结果。
现在,在Ruby中,我会为每个小数学运算创建一个方法,以确保它们(方法)每个都有一个责任。但是在Rails中,我该怎么办?如果您不了解我的问题,我认为这与我对Rails中的实例缺乏了解有关。 Ruby中的实例可以调用我创建的方法,但是我在哪里调用Rails中的方法(actions?)?
答案 0 :(得分:1)
你应该遵循MVC范例:
控制器应该通过某种html格式接收用户提供的参数 然后该控制器应该实例化正在进行数学计算的对象,然后控制器应该呈现视图以将结果呈现给用户。
控制器和视图的存储位置已由框架决定:
控制器位于app/controllers
,视图位于app/views/<controller_name>
现在的问题是你把执行计算的类放在哪里。
您可能会考虑app / models文件夹,但该文件夹通常用于从ActiveRecord::Base
继承的模型,即所有那些在数据库中持久存储的模型。
通常,您正在实现的类的类型位于lib
文件夹中。
例如,您可能具有以下结构:
应用/控制器/ calculations_controller.rb 强>
def perform_calculations
math_calculator = MathCalculator.new params[:operation]
@result = math_calculator.calculate
end
<强> LIB / math_calculator.rb 强>
class MathCalculator
def calculate
# whatever you need to do here
end
end
应用/视图/计算/ perform_calculations.html.erb 强>
<%= @result %>
答案 1 :(得分:0)
没有任何正式的,我认为它可以帮助你