2016-03-25 5 views
0

Я попытался использовать sql для написания простого метода поиска, я до сих пор написал это;Метод поиска Rails

переменной
User.where("username LIKE '#{input}'") 

вход «адам», однако я не хочу, чтобы найти имя пользователя о том, что равно «адам» Я хочу, чтобы найти имена пользователей, которые включают «адам» или включать букву «а» и т.д. .... Мне было интересно, как я буду это делать? Я не очень хорошо разбираюсь в sql-запросах.

Благодаря

ответ

0

Вы можете использовать это:

User.where("username LIKE '%#{input}%'") 
    OR 
User.where("username like ?","%name%") 
+0

Это только определяет, что имя пользователя равно входному значению, можно ли найти пользователя, в котором их имя пользователя включает в себя букву «ada», и найти пользователей, у которых есть буквы «ada» в имя пользователя. –

+0

@AdamParker с символами «%» будет искать именно так, как вы этого хотите. –

0

Если создать метод затем перейти к модели страницы & затем по этой структуре, как показано ниже:

def self.username(username) 
    if username 
    where("username LIKE ?", "%#{username}%") 
    else 
    all 
    end 
end 

Или создать только контроллер как ниже:

User.where(["username LIKE ? ", "%#{params[:username]}%"]) 

Я думаю, что вам поможет