sat*_*ish 4 console controller ruby-on-rails ruby-on-rails-5
我正在使用 Rails 5。我有这个控制器......
class MyObjectsController < ApplicationController
def create
my_object = MyService.build(create_params)
Run Code Online (Sandbox Code Playgroud)
我想在 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))
Run Code Online (Sandbox Code Playgroud)
如何将参数传递给我的控制器方法?
Man*_*eto 17
您收到此错误是因为create方法没有收到任何参数。为了正确使用创建操作,您需要将 ActionController::Parameters 传递给控制器的实例:
c = MyObjectsController.new
c.params = ActionController::Parameters.new(id: "abc")
c.create # It will not work if this controller uses authentication
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4789 次 |
最近记录: |