Как использовать метод gem (возвращающий строки) в качестве пользовательской проверки в приложении rails - PullRequest
0 голосов
/ 17 мая 2011

Я новичок в RoR / Gems, это основной вопрос.

Я создал гем MyNameGem, чтобы изучить процесс. Он содержит следующие методы:

def returnValidationString1
  puts 'Validation String'
end
def returnValidationString2
  puts 'ANother Validation String'
end

Я включил гем в простое приложение rails, похоже, все работает как положено. Я это к моей модели:

validates :name => MyNameGem.returnValidationString1

То, что я пытаюсь создать, - это драгоценный камень, который я могу использовать внутри процедуры проверки. Так, например, я хочу сделать это: validates: name => (вызовите мой метод gem, верните строку и используйте эту строку в качестве требования проверки)

Ответы [ 2 ]

1 голос
/ 17 мая 2011

puts печатает только на консоль.

если вы хотите вернуть 'MyNameGem', напишите return 'MyNameGem' или просто 'MyNameGem, потому что последняя строка возвращается автоматически.

0 голосов
/ 17 мая 2011

Функция puts состоит в том, чтобы помещать вещи в консоль, так что это именно то, что она будет делать.То, что делает ваш вызов validates, довольно необычно и, похоже, не имеет никакого смысла.Ваш код оценивается как:

validates :name => (puts "MyNameGem")

Это действительно ничего не значит.puts обычно возвращает nil.

Если вы хотите написать собственную процедуру проверки, которая хранится в геме, это другой вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...