rails:2363
From: togawa manabu <togawamanabu@g...>
Date: Wed, 5 Sep 2007 11:25:01 +0900
Subject: [rails:2363] Re: param_parsersをcontentTypeではなく、formatによって指定させることはできますか?
こんにちわ。十河です。 contentType以外でparam_parserの動きを設定できないと教えて 頂きましたので、 ApplicationControllerで def add_mydata_to_params if params.include?('mydata') mydata = Hash.from_xml(params[:mydata]).with_indifferent_access params.update(mydata); end end を作成し、befor_filterに設定する方法で対応することにしまし た。 もっとスマートなやり方があればよいのですが、とりあえず各 controllerを変更せずに動くのでよしとしました。 On 2007/09/04, at 17:03, Yuanying wrote: > こんにちは > はじめまして、Yuanyingといいます。 > > クライアントのリクエストをどのようにパースするかのロジックは、 > > ActionController::AbstractRequest#parse_formatted_request_parameters > > にクライアントからのリクエストのcontentTypeを利用して、 > パーサを決定する処理が書かれているようです。 > > このロジックを変更するにはRailsのソースを書き換えるか > モンキーパッチを当てる?しか無いと思います。 > > ところで、 > >> contentTypeではなく、.xmlの:formatや他の >> HTTPHeaderによって変更させることはできますでしょうか? > > との事ですが、 > :formatは、レスポンスに期待するフォーマットを意味してると思う > ので、 > これを利用するのは何か違うのかなと思います。 > > クライアントからのリクエストのヘッダ情報に含まれる > contentTypeと実際にリクエストに含まれるデータがミスマッチを起 > こしてる状態なのでしょうか? > > > 07/09/04 に togawa manabu<togawamanabu@g...> さんは > 書きました: >> 十河と申します。 >> >> ActionController::Base.param_parsersの選択はcontentTypeを >> 見て、application/xmlであればXMLとしてパーズす >> る、と >> いった風に動くようですが、 >> contentTypeではなく、.xmlの:formatや他の >> HTTPHeaderによって変更させることはできますでしょうか? >> >> JSONに対応させるためにmimetypeを設定してparserを >> 指定 >> するという記事(http://www.fraction.jp/log/archives/ >> 2007/05/1123)がありましたが、formatによって変更させる >> 方法はありますでしょうか? >> >> よろしくお願い致します。 > > > > -- > HN: Yuanying > EMAIL: yuanying@f... > URL: http://www.fraction.jp/ > > -- > ML: rails@r... > 使い方: http://QuickML.com/ -- ML: rails@r... 使い方: http://QuickML.com/
2359 2007-09-04 07:06 [togawamanabu@g... ] param_parsersをcontentTypeではなく、formatによって指定させることはできますか? 2360 2007-09-04 10:03 ┗[yuanying@f... ] 2361 2007-09-04 12:46 ┣[togawamanabu@g... ] -> 2363 2007-09-05 04:25 ┗[togawamanabu@g... ]