1

私はモデルを少しチェックしています:

class Customers < ActiveRecord::Base
  def check_user_name(name, email)
    name = Customers.where(:name => name)
    email = Customers.where(:email => email)
    if name && email    
      @answer = 'Question was send to us. Thank you.'
    else 
      @answer = 'ERROR, no such name or email.'    
    end
  end 
end

および表示 (haml ファイル):

=@answer

しかし、ページにはテキストがありません...空です....理由を説明してください。)

4

2 に答える 2

1

これを試して:

class Customers < ActiveRecord::Base #why this model plural?
  def check_user_name(name, email)
    result = {}
    result[:name] = where(:name => name)
    result[:email] = where(:email => email)
  end
end

class CustomersController < ApplicationController
  result = Customers.check_user_name(name, email)
  if result[:name].present? && result[:email].present?
      @answer = 'Question was send to us. Thank you.'
    else 
      @answer = 'ERROR, no such name or email.'    
    end
end

 =@answer

コントローラーのすべてのインスタンス変数はビューに渡されます

于 2013-04-19T12:27:41.433 に答える
0

モデルのインスタンス変数は、ビューからアクセスできません。

コントローラーのインスタンス変数は、データをビューに渡す方法です。

モデルメソッドから文字列を返し、それを@answerコントローラーの変数に割り当ててみてください。例えば。@answer = cust.check_user_name(params[:name], params[:email])

于 2013-04-19T12:18:37.853 に答える