2017-12-10 3 views
2

私はrespond_toのブロックを持つRails 4アクションを持っています。しかし、ログには2回レンダリングされていますhtmlやその他のjson.iの原因は何ですか?また、id属性は[object object]という単純な文字列を送信した後であっても、サーバーログにParameters: {"id"=>"[object Object]"}のように表示されています。Rails 4 - コントローラアクションがhtmlとjsonレスポンスの両方をログに記録する理由

###my route code 

    get 'halls/:id' => 'home#show_by_location', as: :show_by_location 

    ####my homecontroller code 

    def show_by_location  

    if params[:id] and params[:id].present? 

     ##get only halls address as addressable 
     @filter_results_found = false 
     if params[:capacity].present? 
     ####some business logic added 
     @result = ##GETTING SOME RESULT HERE 
     if @result.size == 0 
      flash.now[:notice] = "No details found" 
     end 
     end 
     if params[:food_type].present? 
     ###some business logic added 
     @result = ##GETTING SOME RESULT HERE 
     if @result.size == 0 
      flash.now[:notice] = "No halls found in #{@show_by_parameter.capitalize} that allow only #{food_type}" 
     end 
     end 

     if params[:rating].present? 
     @result = ##GETTING SOME RESULT HERE 
     flash.now[:notice] = "No details found in #{@show_by_parameter.capitalize} with rating of #{rating} star(s)" if @halls.size == 0 
     end 
     if params[:pricing].present? 
     @result = ##GETTING SOME RESULT HERE 
     end 
    end 
     if @filter_results_found === false 
     @result = ##GETTING SOME RESULT HERE 
     end   
     @result = @result.paginate(:page => params[:page]) 

    end 



    ####development/server log 

    Started GET "/halls/Sydney" for 43.242.228.212 at 2017-12-10 07:28:11 +0000 
    Cannot render console from 43.242.228.212! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 
    Processing by HomeController#show_by_location as HTML 
     Parameters: {"id"=>"Sydney"} 

     ########other logs removed..... 
     ......... 
     ...again below is json rendering for same action 




    Started GET "/halls/[object%20Object]" for 43.242.228.212 at 2017-12-10 07:28:24 +0000 
    Cannot render console from 43.242.228.212! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 
    Processing by HomeController#show_by_location as JSON 
     Parameters: {"id"=>"[object Object]"} 

これは良い兆候ではないと思います。これにより、私のサーバーは本当に必要のないデータを処理してしまいます。

+0

コントローラアクションのコード –

+0

にコード構造が追加されていれば有益かもしれません.... @ MuhammadIbraheem – Milind

答えて

0

最終的には、私は問題が何かを理解しました。私はそれが類似の問題に直面するのを助けるかもしれないように投稿しています。私はこのプラグインは、上の既存の画像/動画をロードするために必要とされるスクリプト内のAJAX(JSON)の呼び出しがありgo.Now上の画像や動画をアップロードするために私のフォームにjquery fileupload pluginを使用しています

問題

ページ。 したがって、スクリプトがロードされた場合、常にajaxが呼び出されます。と私はマニフェスト内でjsファイルを追加しました - application.js.Soすべてのリクエストはスクリプトから+ jsonコールと呼ばれました。

ソリューション

私は、JSファイルを削除しても、個別の代わりに、スクリプトをロードするためにassets.rbに新しいエントリを追加することが含まneeded.Thisでのみ、フォームページで明示的に含める必要がありますアセットパイプライン。さて、問題が解決され

<%= javascript_include_tag "jQuery-File-Upload-9.11.2/video_upload", :media => "all" %> 

とあまりにもフォームがファイルアップロードプラグインを使用して作業しているログにその一つだけ要求 - JSの必要なテンプレート内のファイルのみ含む

Rails.application.config.assets.precompile += %w(video_upload image_upload) 

これは誰かを助けることを望みます。

関連する問題