1

我正在尝试使用 rails 4 构建 API。一切(显示/删除/创建)都可以正常工作,但更新给了我一个错误:

Api::V1::UsersController#update 中的 ActiveModel::ForbiddenAttributesError

我的更新方法是这样的:

def update
  @user = User.find_by_id(params[:id])
  if @user.nil?  
  logger.info("User not found.")
  render :status => 404, :json => {:status => "error", :errorcode => "11009", :message => "Invalid userid."}
  else
    @user.update(params)
    render :status => 200, :json => {:status => "success", :user => @user, :message => "The user has been updated"}
  end
end

我将我的发布请求发送到http://localhost:3000/api/v1/users/3并且我正在通过 PATCH 发送用户名:Testuser - 这应该适用于 rails 4。

我想我忘记允许更新参数了?

4

1 回答 1

2

我只是忘记了 rails 4 中的语法。我只需要替换@user.update(params)@user.update_attributes(params.permit(:email, :username, :password))

于 2013-07-31T20:44:45.213 回答