如何解决导轨,将参数从控制器传递到服务
路轨。 在视图中,我有一个提交按钮。在控制器中,我想使用输入(数组)并将其传递给服务。
在控制器中,我尝试过:
class TestDemandController < ApplicationController
def index
end
def create
test_demand = TestDemandService.new(@params)
test_demand.build(@params)
end
在服务中:
class TestDemandService
def initialize(input)
@input = input
end
def build(input)
..loop over an array..
end
我在“循环遍历数组”这一行有此错误: nil:NilClass的未定义方法“ each”
谢谢
解决方法
在控制器中,您可以访问参数(通过表单发布到服务器上的参数)。您也可以在终端中检查参数,它们看起来像:
Started POST ...... Parameters: {"key" => "value","another_key" => "Another value"}
要将完整的参数发送到服务,可以向其传递参数:
def create
test_demand = TestDemandService.new(params)
...
end
如果您只想从参数中发送特定值,则可以执行以下操作:
def create
test_demand = TestDemandService.new(params[:another_key])
...
end
这将为您提供服务中的值another_value
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。