2

Railsプロジェクトにファイル/public/animals/mammals/pets/d/dog.jpgがあります。したがって、URLを介してアクセスできます/animals/mammals/pets/d/dog.jpg。短いURL、たとえばへの/dog-pictureリンクからアクセスできるようにする方法はあります/animals/mammals/pets/d/dog.jpgか?

4

2 に答える 2

1

ルート内で:controllerおよび:actionシンボルを明示的に使用する必要はありません。それらをデフォルトとして提供できます。

match 'photos/:id' => 'photos#show'

このルートでは、Railsは/ photos/12の着信パスをのshowアクションに一致させPhotosControllerます。

:defaultsオプションにハッシュを指定することにより、ルートに他のデフォルトを定義することもできます。これは、動的セグメントとして指定しないパラメーターにも当てはまります。例えば:

match 'photos/:id' => 'photos#show', :defaults => { :format => 'jpg' }

Railsはphotos/12をのshowactionに一致させPhotosController、に設定params[:format]jpgます。

また、http://guides.rubyonrails.org/routing.htmlも参照してください。

于 2012-10-11T04:10:23.293 に答える
0

簡単な解決策は、画像要求を処理するコントローラーを作成することです。次に、画像をパブリックフォルダから移動できます。

正直なところ、長いURLを持っていることが、禁欲主義者以外の問題であるかどうかはわかりません。

于 2012-10-11T04:12:15.320 に答える