2016-04-09 10 views
0

私はRailsには全く新しく、ユーザの検索に応じて特定のページにリンクするデータベースを持っていますが、常にIDを与えてくれます。Ruby on Rails - URLの別の名前を設定する

たとえば、ユーザーが検索すると、「localhost:3000/fruit/apple」の代わりに「localhost:3000/fruit/1」が表示されます。誰かがIDから名前にURLを切り替える方法を知っていますか?

答えて

0

リンクを生成するモデルで 'to_param'メソッドを定義する必要があります。

class Fruit < ActiveRecord:Base 
    def to_param 
    name 
    end 
end 

は、その後、あなたのコントローラでは、例えば、あなたがあなたの「to_param」メソッドで使用している属性で検索するには、showアクションのための検索を変更する必要があります

@fruit = Fruit.find_by(name: params[:id]) 

は、あなただけの[friendly_id](https://github.com/norman/friendly_id#rails-quickstart)のような宝石を使用することができ、追加の詳細

関連する問題