2013-03-15 4 views
0

Я использую Sorcery Gem для выполнения своих логических задач. В какой-то момент я просто хочу ударить метод и вернуть 1 или 0, если в базе данных присутствует пароль пользователя &. Я могу сделать это с помощью этого кода, но Rails также возвращает файл application.html.erb, который я не хочу. Все, что мне нужно - это 0 или 1. Ничего больше. Интересно, как я могу отключить шаблон application.html.erb только для этого метода. Я пробовал:Rails: Я хочу отображать значение в браузере, но не хочу показывать application.htm.erb

render :layout => false 

, но это также предотвращает появление значения my @status в моем файле с одной строкой.

def index 
if @user = login(params[:email], params[:password])  
    @status = '1' 
    else 
    @status = '0' 
    end 
end 

И мой файл index.html.erb является только одна строка: <% = @status%>

Благодаря

+0

'render layout: false' в конце вашего метода' index' должен делать именно то, что вы хотите. – bdares

+0

это сделало трюк. –

ответ

2

В верхней части контроллера вы можете добавить

layout false, :only => [:index]

Вместо уровня действия.

1

Другой вариант - визуализировать текст, чтобы вам не нужно представление, и вам не нужно беспокоиться о макетах и ​​переменных экземпляра. ваш код может быть переписан как

def index 
    render text: login(params[:email], params[:password]) ? 1 : 0 
end 
Смежные вопросы