Вопрос по ruby-on-rails – Rails: Как разместить POST внутри другого действия контроллера?

6

Это будет звучать странно, но выслушайте меня ... Мне нужно иметь возможность сделать эквивалент запроса POST к одному из моих других контроллеров.SimpleController в основном упрощенная версия более подробного контроллера. Как я могу сделать это соответствующим образом?

class VerboseController < ApplicationController
  def create
    # lots of required params
  end
end

class SimpleController < ApplicationController
  def create
    # prepare the params required for VerboseController.create
    # now call the VerboseController.create with the new params
  end
end

Может быть, я слишком обдумываю это, но я не знаю, как это сделать.

Error: User Rate Limit ExceededonlyError: User Rate Limit Exceeded Marnen Laibow-Koser
Error: User Rate Limit Exceeded Ismael Abreu
Error: User Rate Limit ExceededdoError: User Rate Limit Exceeded Potch
Error: User Rate Limit Exceeded docwhat

Ваш Ответ

2   ответа
7

3

class VerboseController < ApplicationController
  def create
    Person.verbose_create(params)
  end
end

class SimpleController < ApplicationController
  def create
    Person.simple_create(params)
  end
end

class Person
  def self.verbose_create(options)
    # ... do the creating stuff here
  end

  def self.simple_create(options)
    # Prepare the options as you were trying to do in the controller...
    prepared_options = options.merge(some: "option")
    # ... and pass them to the verbose_create method
    verbose_create(prepared_options)
  end
end

Error: User Rate Limit Exceededaction: :createError: User Rate Limit Exceeded

Похожие вопросы