Нет встроенного способа сделать это, о котором я знаю.Возможно, я бы создал вспомогательный метод, если вы будете этим заниматься много.
def anchor_to(link_text, object)
link_to(link_text, "##{object.class.name.underscore}_#{object.id}")
end
Вы можете сделать метод более сложным, если вам нужно обрабатывать больше случаев (передача параметров в link_to и т. Д..) но что-то простое подобное очистило бы это.Генерация ссылки становится такой:
= anchor_to("Link to Billy", @user)
Если вы хотите использовать помощников Haml, вы можете сделать что-то очень похожее (но гораздо более запутанное):
def anchor_to(link_text, object)
capture_haml do
haml_tag :a, 'Link to Billy', href: "##{object.class.name.underscore}_#{object.id}"
end
end
Хотя, имейте в виду, чтоunderscore
метод не будет доступен, если вы делаете это вне Rails (это единственная причина, по которой я могу избежать избегания помощника link_to).