0

Mongoid を使用して、Rails 3 のモデルの URL をスラッグ化したいと思います。問題は、スラッグで使用したいフィールドが子モデルにあることです。これに対する解決策を見つけるために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)が、ページには正しい値が含まれていません。オブジェクト ID が正しくないというエラー メッセージが表示されます。Rails にリッスンさせて to_param でレコードを検索させる方法がわかりません。

4

1 に答える 1

0

好奇心旺盛な方のために、私が自分の問題をどのように解決したかを以下に示します。showアクションをから変更する必要があることに気付きました

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

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

そして出来上がり!できます。

于 2011-01-17T08:11:09.613 に答える