我想使用Mongoid来强化Rails 3中模型的url。问题是我想在slug中使用的字段位于子模型中。我正在使用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
虽然这允许我通过调用building_path(building)
来形成正确的URL,但该页面不包含正确的值。错误消息抱怨对象ID不正确,我不知道如何让Rails监听并通过to_param查找记录。
答案 0 :(得分:0)
对于好奇,这就是我如何解决自己的问题。我意识到我需要改变来自
的show动作@building = Building.find(params[:id])
到
@building = Address.find_by_slug(params[:id]).building
瞧!它有效。