0

これで、にアクセスして受信したメッセージを確認できます。example.com/messages/46747

と私のルートはこのように設定されています

'messages/:id' => 'messages#show', :as => 'show_messages' 

そのページにアクセスするためのリンクタグは次のように設定されています

<%= link_to 'show message', show_messages_path %> 

この場合、メッセージのIDはURLに表示されます。
ほとんどの場合、IDはハッシュキーで取得する必要があると思います。

どうすればそれを達成できますか?

4

1 に答える 1

3

パスによって生成された URL を変更するには、ActiveRecord::Base to_param を使用します。

class User < ActiveRecord::Base
  def to_param  # overridden
    name
  end
end

user = User.find_by_name('Phusion')
user_path(user)  # => "/users/Phusion"

URL に表示するテキストで Message クラスの to_param メソッドをオーバーライドするだけです。

于 2012-07-19T06:56:53.933 に答える