Предположим, существует ассоциация между writers
и books
и один из авторов, Джон Пенчил, написал 16 книг. Крепеж bibliography.yml
списки всех книг следующим образом:Как создать имена переменных с итерацией и интерполяцией?
association_1:
writer: john_pencil
book: book_1
association_2:
writer: john_pencil
book: book_2
...
Мне нужно, чтобы проверить, что домашняя страница показывает весь список книг J.P. в.
Таким образом, если я мог бы использовать как-то интерполяции в методе установки теста, я мог бы сделать следующим образом:
(1..16).each do |num|
book_#{num} = bibliography("association_#{num}".to_sym).book
end
тогда я мог бы проверить, что список книг присутствует следующим образом:
(1..16).each do |num|
assert_select "td.book_isdn", book_#{num}.isdn
assert_select "td.book_title", book_#{num}.title
assert_select "td.book_genre", book_#{num}.genre
assert_select "td.book_author", book_#{num}.author
end
Конечно, я не могу использовать book_#{num}
, и мне интересно, сможем ли я с некоторыми методами сделать интерполяцию, как я сделал для "association_#{num}".to_sym
Есть ли какой-либо причине вы не можете просто использовать массив? –