0

Sorcery Gem を使用してログインを行っています。ある時点で、ユーザーの電子メールとパスワードがDBに存在する場合、メソッドをヒットして1または0を返したいだけです。このコードでそれを行うことができますが、Rails は不要な application.html.erb ファイルも返します。必要なのは、表示される 0 または 1 だけです。他には何もありません。この1つのメソッドだけでapplication.html.erbテンプレートを無効にする方法を知りたい. 私は試した:

render :layout => false

しかし、それはまた、@status 値が 1 行のビュー ファイルに表示されないようにします。

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

そして、私の index.html.erb ファイルはたった 1 行です: <%= @status %>

ありがとう

4

2 に答える 2

2

コントローラーの上部に追加できます

layout false, :only => [:index]

アクションレベルではなく。

于 2013-03-15T03:38:26.517 に答える
1

もう1つのオプションは、テキストをレンダリングして、ビューを必要とせず、レイアウトやインスタンス変数について心配する必要がないようにすることです。コードは次のように書き直すことができます

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