Как убрать родительскую модель с полей из дочерней модели? - PullRequest
0 голосов
/ 16 января 2011

Я бы хотел добавить URL для модели в Rails 3, используя Mongoid.Проблема в том, что поля, которые я хочу использовать в слаге, расположены в дочерней модели.Я использую mongoid-slug gem, чтобы найти решение этой проблемы, и моя попытка на данный момент такова:

class Building
  references_one :address

  def to_param
    address.to_param
  end
end

class Address
  referenced_in :building

  field :houseno
  field :street

  slug :houseno, :street
end

Хотя это позволяет мне сформировать правильный URL, вызвав building_path(building), страница не содержит правильных значений.Сообщение об ошибке жалуется, что идентификатор объекта неверен, и я не уверен, как заставить Rails прослушать и найти запись с помощью to_param.

1 Ответ

0 голосов
/ 17 января 2011

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

@building = Building.find(params[:id])

до

@building = Address.find_by_slug(params[:id]).building

И вуаля! Это работает.

...