0

私はこのルールを持っています:

  match '*urlnames' => 'home#searching_names'

URLアドレスはwebsite.com/john.htmlのようになります。問題は、ログに表示されることです

  Parameters: {"urlnames"=>"john"}

.html拡張子なし。テキストの拡張は重要です。コントローラーでテストする必要があります。この部分をルーティングルールに追加しようとしました:

  match '*urlnames' => 'home#searching_names', :defaults => { :format => "html" }

しかし、それでも同じですが、ログには

Parameters: {"urlnames"=>"john"}

コントローラで拡張機能をキャッチするにはどうすればよいですか?

4

1 に答える 1

2

request.parameters[:format]または(MIMEタイプとして)を介して、要求された形式にアクセスできますrequest.format

ただし、respond_toブロックを使用することもできます。

def show
  file = params[:urlnames]
  respond_to do |format|
    format.html { ... }
    format.txt  { ... }
  end
end

...テキストをレンダリングしたり、データやファイルを送信したりするためのコードはどこにありますか。

静的ファイルを表示しようとしているだけの場合は、それらをパブリックディレクトリに配置し、Railsを完全にバイパスします。

于 2012-06-12T08:19:01.017 に答える