установка link_to с меткой / заголовком ссылки по умолчанию - PullRequest
0 голосов
/ 26 августа 2011

У меня есть модель с именем product. Я хотел написать «product.link», чтобы создать «link_to product.title, product». Я знаю, что не могу определить метод "link" в файле Product.rb (потому что link_to там не работает), и я не хочу писать "link_to product.title, product" каждый раз, когда мне нужно создать ссылка на товар.

Мне было интересно, может ли кто-нибудь предложить идеальный способ создания минимально простого способа создания ссылок на мои продукты.

Мне также было интересно, был ли способ в рельсах установить поле метки по умолчанию, которое будет отображаться, когда я пишу "link_to product" вместо того, что оно показывает сейчас: "#<Product:0x105093f20>"

1 Ответ

2 голосов
/ 26 августа 2011

Добавьте вспомогательный метод, который делает соответствующую вещь:

# products_helper.rb
def product_link(product)
  # Change these to taste
  link_to product.name, product_path(product)
end

Теперь, по вашему мнению, вы можете вызвать следующее:

product_link product

Что касается вашего вопроса о # появляется в ссылках, это link_to помощник, вызывающий to_s для объекта для html-части ссылки.Используйте помощник, как указано выше, для определения текста по умолчанию.

...