0

私は自分のモデルでこのルールを使用します:

  def to_param
    "#{self.name.parameterize}"
  end

そして私のヘルパーで:

  def articles_menu
    menu = '<ul>'
    Article.all.each do |article|
      menu += '<li>'
        menu += link_to "#{article.name}", article
      menu += '</li>'
    end
    menu += '</ul>'
    return menu.html_safe
  end

しかし、に行くと/articles/my-new-flat、エラーが発生します

ActiveRecord::RecordNotFound in ArticlesController#show

Couldn't find Article with id=my-new-flat

他にまだ足りないものがありますか、それともアプリに問題がありますか? 名前のパラメーター化には、モデルでルールを設定するだけで済みます...

4

1 に答える 1

0

必要なものがすべて揃っている FriendlyId gem を使用してください。

コードの問題は、ハブの下のレールが「id」属性でモデルをクエリしようとしていることです。「name」属性をクエリしていません。FriendlyId gem は、必要なモデルにこれをパッチします

于 2012-05-03T08:45:10.267 に答える