2016-08-25 4 views
-1

Привет, У меня есть проблема или я не знаю, как это сделать. Я создал REST API. Здесь код user_controller для API. Я хочу сделать так, что когда я создаю нового пользователя или тестирую того же пользователя (логин) уже в базе данных. Когда тот же пользователь в базе данных возвращает ошибку. Пожалуйста, помогите! :)API REST User Rails

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 

ответ

0

Пожалуйста, используйте код ниже.

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 
Смежные вопросы