Я пытаюсь создать простое действие в контроллере rails, который будет действовать как API.Создать действие в rails api с json
В этом случае я пытаюсь запустить создание, когда клиент отправляет json-кодированную строку.
Прямо сейчас у меня он работает похожим образом:
def create
@user = User.new.from_json(params[:user])
respond_to do |format|
if @user.save
format.json { render json: @user, status: :created, location: @user }
else
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
мне не нравится, как я зависим от to_json звонить через, чтобы сделать создать. Прямо сейчас я только отвечаю на полезную нагрузку json, но если мы решим распространить его на xml, этот код сломается.
Есть ли более чистый способ создать нового пользователя из данных, размещенных в формате json?
Я попытался просто передать в params [: user] (который является строкой json) для User.new, но получил ошибки.
Для справки мой JSON выглядит следующим образом:
{"email":"[email protected]","password":"password"}