Контроллер направляющих не принимает JSON?

Самое простое решение - создать промежуточное программное обеспечение и вызвать его позже в конструкторе.

php artisan make:middleware FoobarMiddleware

Я рекомендую поместить псевдоним в Kernel.php

protected $routeMiddleware = [
...
'foobar' => \App\Http\Middleware\FoobarMiddleware::class, 
]

Конструктор:

public function __construct()
{
    $this->middleware('auth');
    $this->middleware('foobar');
}

Я рекомендую изменить фокус того, как вы создаете все

8
задан apchester 5 January 2009 в 21:32
поделиться

3 ответа

Если вы просто передаете хэш всех параметров человека (а не вложенный хеш с "человеком") в качестве ключа), тогда вы просто сможете сделать @person = Person.new (params) .

4
ответ дан 5 December 2019 в 23:17
поделиться

Поочередно, Person.new(params.reject{|k,v| k != "firstname" || k != "lastname"}) сделал бы в Вашем Ruby.

...

Person.new({:firstname => params[:firstname], :lastname => params[:lastname]}) - это на самом деле работает

Вот больше futureproof решения:

Person.new(params.reject{|k,v| not Person.column_names.include?(k) })
0
ответ дан 5 December 2019 в 23:17
поделиться

Одна из идей, позволяющих разрешить простой ввод JSON, например {"firstname": "Joe", "lastname": "Bloggs"}, и вложенный тип, который вы получаете с HTML-формой, будет:

@person = Person.new(params[:person] || params)

respond_to do |format|
  ..
end
0
ответ дан 5 December 2019 в 23:17
поделиться
Другие вопросы по тегам:

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