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... ]