0

我正在使用 Sorcery Gem 进行登录操作。有一次,如果数据库中存在用户电子邮件和密码,我只想点击一个方法并返回 1 或 0。我可以用这段代码做到这一点,但 Rails 也会返回我不想要的 application.html.erb 文件。我所需要的只是出现的 0 或 1。没有其他的。想知道如何仅针对这一方法禁用 application.html.erb 模板。我试过了:

render :layout => false

但这也阻止了我的@status 值出现在我的单行视图文件中。

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

而我的 index.html.erb 文件只有一行: <%= @status %>

谢谢

4

2 回答 2

2

在控制器的顶部,您可以添加

layout false, :only => [:index]

而不是在行动层面。

于 2013-03-15T03:38:26.517 回答
1

另一种选择是渲染文本,这样您就不需要视图,也不必担心布局和实例变量。您的代码可以重写为

def index
  render text: login(params[:email], params[:password]) ? 1 : 0
end
于 2013-03-15T05:53:46.257 回答