我正在使用Rails5。我有此控制器...
class MyObjectsController < ApplicationController
def create
my_object = MyService.build(create_params)
我想在Rails控制台中调用create方法,但出现此错误...
irb(main):007:0> MyObjectsController.new.create(:id => "abc")
Traceback (most recent call last):
2: from (irb):7
1: from app/controllers/my_objects_controller.rb:4:in `create'
ArgumentError (wrong number of arguments (given 1, expected 0))
如何将参数传递给控制器方法?
class MyObjectsController < ApplicationController
def create
my_object = MyService.build(@create_params)
end
def pass_create_params(create_params = {})
@create_params = create_params
create
end
end
然后在控制台中调用pass_create_params
:
MyObjectsController.new.pass_create_params(id: 'abc')
app.post“?create_params [id] = abc”
例如app.post'/ users?user [name] = test&user [age] = 20'
将通过以下{“ user” => {“ name” =>“ test”,“ age” =>“ 20”}}] >>