当用户按下“获取报告”按钮时,我有一个报告对象可以从其他API获取数据。
如何设计new
和create
以从其他函数获取参数?这就是我的控制器的样子:
def new
@run = Run.new
end
def create
param_holder = get_payload
@run = Run.new(param_holder)
end
def get_payload
statushash = Hash.new
# placeholder data for testing below
statushash[:daterun] = Time.now.strftime("%m/%d/%Y")
statushash[:status] = "OK"
statushash[:count] = 13
return statushash
end
有没有人有学习资源的建议,并提出这样的基本问题?
答案 0 :(得分:0)
我发现最好将所有API调用逻辑抽象到我自己的对象,我将其称为服务对象。此对象具有返回JSON的基线API调用的方法。然后,您可以将这些哈希值(JSON)传递给您的RUN模型或您用来填充报表数据的任何模型,并使用方法从中提取所需内容,或者如果它具有全部哈希值,则只传递整个哈希值必需的属性。
我这样做的方法是让你的"获取报告"按钮在此提供的控制器中点击创建操作的帖子。
我不会使用" new"在这种情况下的操作,因为它通常保留给某种用户输入视图。