Я пытаюсь проверить, правильно ли генерируется поле обратным вызовом, но я не могу понять это.
album.rb
before_create :generate_permalink
private
def generate_permalink
@title = album.downcase.gsub(/\W/, '_')
@artist = artist.downcase.gsub(/\W/, '_')
self.permalink = @artist + "-" + @title
end
album_test.rb
test "should return a proper permalink" do
album = Album.new(:artist=>'Dead Weathers', :album=>'Primary Colours')
album.save
assert_equal "dead_weathers-primary_colours", album.permalink
end
Но это не работает, потому что album.permalink
не вернет значение, если оно сохранено.
Есть ли способ проверить before_create
? Должен ли я делать это на уровне контроллера?