2016-06-14 7 views
0

私は、trueまたはfalseを返し、次の方法があります、質問があるrailsメソッドでパラメータを渡す方法は?

def my_method? 
    # do stuff here 
end 

を私は上記の方法でパラメータを渡すことができますか?この感謝をどのように達成することができますか?

私はこのように行うが、それは動作しません。

def my_method?(params) 
    # do stuff 
end 

User.my_method?(params) 
+1

User.new.my_methodを試してみませんか?(パラメータ) – Leantraxxx

+0

私はmy_methodを想定していますか?ユーザクラスの内部で定義されています... – Leantraxxx

+0

'def my_method?(params)'これはインスタンスメソッドなので、Userクラスのインスタンス、例えば 'User.new.my_method?(params)'で呼び出さなければなりませんその他のコメント)。 Userクラス自体でそれを呼び出せるようにするには、クラスメソッドとして定義する必要があります。例えば、 'def self.my_method?(params)' –

答えて

0
def my_method?(params)` 

は、このようにあなたのUserクラス例えば

User.new.my_method?(params) 
のインスタンスで呼び出されなければならないインスタンスメソッドを、作成します。

(他のコメントによると)

あなたがそれをあなたのUserクラスそのもので呼び出せるようにしたいのであれば、t鶏あなたはクラスメソッドの例として、それを定義する必要があります。ここに

def self.my_method?(params) 
0

あなたはRubyのメソッド内のparamsの使用

def my_method?(params) 
    variable1 = params[:temp1] 
    variable2 = params[:temp2] 
end 

そして、ここではあなたが

User.my_method?({temp1: 'This is my method etc', temp2: 'Another parameter'}) 
それを呼び出すことができる方法で作ることができる方法です
関連する問題