0
私はRailsには全く新しく、ユーザの検索に応じて特定のページにリンクするデータベースを持っていますが、常にIDを与えてくれます。Ruby on Rails - URLの別の名前を設定する
たとえば、ユーザーが検索すると、「localhost:3000/fruit/apple」の代わりに「localhost:3000/fruit/1」が表示されます。誰かがIDから名前にURLを切り替える方法を知っていますか?
私はRailsには全く新しく、ユーザの検索に応じて特定のページにリンクするデータベースを持っていますが、常にIDを与えてくれます。Ruby on Rails - URLの別の名前を設定する
たとえば、ユーザーが検索すると、「localhost:3000/fruit/apple」の代わりに「localhost:3000/fruit/1」が表示されます。誰かがIDから名前にURLを切り替える方法を知っていますか?
リンクを生成するモデルで '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)のような宝石を使用することができ、追加の詳細
ためhttp://api.rubyonrails.org/classes/ActiveRecord/Integration.html#method-i-to_paramを参照してください。 – spickermann