Я читаю this question, где он говорит, что звонкиОрфография, ожидаемая как эквивалентная, вызывает ошибку. Зачем?
something {|i| i.foo }
something(&:foo)
эквивалентны.
Теперь я пытался реорганизовать моя модель под названием AdminUser
по этому образцу и заменить
after_create { |admin| admin.send_reset_password_instructions }
с
after_create(&:send_reset_password_instructions)
, но когда я бегу мой миграции, который содержит строки
def migrate(direction)
super
# Create a default user
AdminUser.create!(email: '[email protected]', password: 'very_clever', password_confirmation: 'very_clever') if direction == :up
end
это дает мне ошибку
ArgumentError: no receiver given
, указывающий на линию AdminUser.create!...
.
Может ли кто-нибудь сказать мне, что здесь не так?
Я не вижу причин, по которым вы не можете заменить 'after_create {| admin | admin.send_reset_password_instructions} 'с более короткой формой, поэтому я бы поискал в другом месте проблему. Вы думаете, «но это сработало до того, как я внес изменения», но я дважды проверю, что вы не сделали никаких других изменений, возможно, непреднамеренно. –
еще лучше, почему бы просто не сделать 'after_create: send_reset_password_instructions' – photoionized