Я знаю, что это может быть глупый вопрос, но я не знаю, как создать рубиновый метод, который принимает хэш параметров. Я имею в виду, в Rails Я хотел бы использовать этот метод следующим образом:Создайте рубиновый метод, который принимает хэш параметров
login_success :msg => "Success!", :gotourl => user_url
Что является прототипом метода, который принимает этот вид параметров? Как их читать?
Не могу ли я использовать что-то вроде login_success (* params)? – collimarco
a * (aka splat operator) означает, что метод принимает любое количество аргументов и помещает их в массив с параметрами. Решение о том, использовать его или нет, зависит от того, что вам нужно. В приведенном примере хэш имеет смысл. – Allyn
Это говорит о том, что вы ожидаете сколько-нибудь аргументов. Как 'foo (1,: b, '3')'. Кроме того, вам не нужна часть «= {}». это будет работать нормально: def login_success (hash). Вышеприведенный код просто устанавливает значение по умолчанию как пустой хэш. –