У меня есть метод song_link
, который вызывает link_to
внутри. Я хочу, чтобы вызывающая сторона могла передавать хэш опций в song_link
, который затем будет использовать соответствующие ей опции, а остальные передавать в link_to
. Вот мой код:
def song_link(song, separator = nil, options = {})
if separator.class == Hash
options = separator
separator = nil # not sure about this logic either!
# I guess I should roll it into the options hash
end
primary_only = false
if options[:primary_only]
options.delete(:primary_only)
primary_only = true
end
link_to title_with_artists(song, separator, primary_only), song_path(:song_slug => song.song_slug, :artist_slug => song.artist_slug), options
end
Т.е., я хочу проверить, существует ли options[:primary_only]
и использует ли он его для целей song_link
, не передавая его link_to
Очевидно, что этот подход не будет масштабироваться, поскольку я добавляю больше опций, которые относятся к song_link
, но не для link_to
. Как мне это сделать?