2016-06-14 3 views
0

У меня есть следующий метод, который возвращает истину или ложь:Как передать параметр в режиме rails?

def my_method? 
    # do stuff here 
end 

Вопрос заключается в том, могу ли я передать параметр с указанным выше способом? Как я могу добиться этой благодарности!

мне нравится это, но это не будет работать:

def my_method?(params) 
    # do stuff 
end 

User.my_method?(params) 
+1

попробуйте User.new.my_method? (Params) – Leantraxxx

+0

im, предполагающий my_method? определяется внутри класса пользователя ... – Leantraxxx

+0

'def my_method? (params)' это метод экземпляра и, следовательно, должен быть вызван в экземпляр вашего класса User, например 'User.new.my_method? (params)' (согласно другой комментарий). Если вы хотите, чтобы иметь возможность вызвать его на свой пользовательский класс, вы должны определить его как метод класса, например: 'def self.my_method? (Params)' –

ответ

0
def my_method?(params)` 

создаст метод экземпляра, который, таким образом, должен быть вызван на примере вашего User класса, например

User.new.my_method?(params) 

(согласно другому комментарию)

Если вы хотите, чтобы иметь возможность вызвать его на свой пользовательский класс, t курица вы должны определить его в качестве метода класса, например:

def self.my_method?(params) 
0

вот как вы можете использовать Params в методах рубина

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

А вот как можно назвать

User.my_method?({temp1: 'This is my method etc', temp2: 'Another parameter'})