Rails 3: Как сохранить ссылки в переменной модели - PullRequest
0 голосов
/ 28 декабря 2010

Я создаю ленту новостей, и было бы полезно, если бы я мог сохранить ссылки в содержании переменной модели (например).

Можно ли это сделать?

Спасибо

Редактировать: я хочу сохранить в переменной: содержимое что-то вроде: Дональд (ссылка на профиль Дональда) купил ящик (ссылка на страницу блока) у user_x (ссылка на магазин user_x).

1 Ответ

1 голос
/ 28 декабря 2010

Таким образом, вы в основном хотите создать ссылку из отношений. Вам следует НЕ сохранять необработанную ссылку в вашей базе данных, а создавать ее динамически (представьте, изменился ли идентификатор или идентификатор продукта). Если я правильно понимаю ваш пример, покупка - это самообращающаяся ссылка между пользователями? Смотрите здесь для настройки реализации

class User < ActiveRecord::Base
  def profile_link
    link_to "#{self.first_name} #{self.last_name}", user_profile_path(self)
  end

  def store_link
    link_to "#{self.first_name} #{self.last_name}", user_store_path(self)
  end
end

class Purchase < ActiveRecord::Base
  def product_link
    link_to self.product_name, product_path(self)
  end

  # buyer and seller are the aliases for the self referencing user class
  def info_link
    "#{self.buyer.profile_link} has bought a #{self.product_link} from #{seller.store_link}"
  end
end

где url и title - это поля в вашей таблице (которые вы создали и заполнили)

Тогда по вашему мнению:

stuff... <%= @product.info_link %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...