I have the following controller
class UsersController < ApplicationController
def new
end
def create
# render text: params[:user].inspect
@user = User.new(user_params)
@user.save
redirect_to @user
end
def show
@user = User.find(params[:id])
respond_to do |format|
format.html
format.json { render json: @user, success: true }
end
end
def index
@users = User.all
end
def find_username
@user = User.where(["username = ?", params[:username]])
respond_to do |format|
format.html
format.json { render json: @user, success: true }
end
end
private
def user_params
params.require(:user).permit(:username, :description)
end
end
as you can see I have my own search method (find_username)> on my view I have the following ajax script:
$( document ).ready(function() {
$('#user_username').blur(function() {
var value = $( this ).val();
var url = "/username/" + value;
var data = {"username" : value};
var dataType = "json";
$.ajax({
type: "GET",
url: url,
data: data,
success: function(response){
alert("EXISTS");
},
error: function(response){
alert("NO EXISTS");
},
dataType: dataType
});
});
});
But I always get "EXISTE" No matter if the record don't exist on the db. I don't understand why. Here is my rails routes:
Testing::Application.routes.draw do
resources :users
get 'username/:username', to: "users#find_username"
root 'welcome#index'
end
Thanks in advance for your help!