【问题标题】:API REST User RailsAPI REST 用户 Rails
【发布时间】:2016-08-25 18:11:48
【问题描述】:

您好,我有问题或不知道该怎么做。我创建了一个 REST API。这里是 API 的 users_controller 代码。我想这样做,当我创建一个新用户或测试同一个用户(登录)时已经在数据库中。当数据库中的同一用户返回错误时。 请帮忙!:)

module Api
  module V1

    class UsersController < ApplicationController # Api::BaseController
      before_filter :authenticate_user!, except: [:create, :index]

      respond_to :json

      def index
        #respond_with

        respond_to do |format|
          format.html {render text: "Your data was sucessfully loaded. Thanks"}
          format.json { render text: User.last.to_json }
        end
      end

      def show
        respond_with User.find(params[:id])
      end

      def create
        respond_with User.create(login: params[:login],
         email: params[:email],
         password: params[:password],
         spam: params[:spam],
         male: params[:male],
         facebookid: params[:facebookid]
         )
      end

      def update
        respond_with User.update(params[:id], params[:users])
      end

      def destroy
        respond_with User.destroy(params[:id])
      end
    end
  end
end

【问题讨论】:

    标签: ruby-on-rails json rest


    【解决方案1】:

    请使用以下代码。

    def create
      @user=User.find_by_login(params[:login])
      if @user.present?
        render :status=>401, :json=> ["Login already present"]
      else
        respond_with User.create(login: params[:login],
             email: params[:email],
             password: params[:password],
             spam: params[:spam],
             male: params[:male],
             facebookid: params[:facebookid]
             )
          render :status=>401, :json=> ["Login already present"]
      end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-20
      • 1970-01-01
      • 2016-07-02
      • 2016-05-31
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多