Я попробовал User.create(params), но это говорит о том, что «контроллер» и «действие» не могут быть назначены массово. Я мог бы исключить эти свойства, но есть ли более простой способ упорядочить нужные мне свойства?
Некоторые примеры, похоже, указывают на то, что я могу использовать params[:user], но если я хочу, чтобы сообщение было просто объектом пользователя, params[:user] выглядит как ноль.
Итак, я публикую с {имя пользователя: 'бла', пароль: 'бла'}, и имя пользователя и пароль находятся в параметрах, но не params[:user].
class UsersController < ApplicationController
def create
user = User.create(params[:user])
if user.save
render :json => user, :status => :created
else
logger.error user.errors
render :json => {:status => :error, :errors => user.errors}, :status => :bad_request
end
end
end
params
, вы увидите, что у него разные параметры, такие какcontroller
иaction
.User.create(params)
попытается создать пользователя и присвоить ему атрибуты params. Поскольку ваши параметры имеют значения, не являющиеся атрибутами (действие, контроллер, фиксация, utf и т. д.), они не будут работать и вызовут ошибку массового назначения. - person MrYoshiji   schedule 20.12.2012