1


私は Rails を初めて使用しますが、問題は次のとおりです。
サーバー経由でリモート Web サイトに GET 要求を送信し、その応答を HTML としてフロントエンドに送信します。
残念ながら、リモート サイトから解析している HTML には、ActionController::RoutingError (No route matches [GET] "...") の原因となっている静的ファイルへの参照が含まれています

。ブラウザのコンソールに表示されませんか? コードは次のとおりです。

def get_page

    url = URI.parse('[website]')
    req = Net::HTTP::Get.new(url.path)
    res = Net::HTTP.start(url.host, url.port) {|http|
      http.request(req)
    }

    @result = res.body

    respond_to do |format|
      format.html { render :text => @result }
    end
end

どんな助けにも感謝します!

4

1 に答える 1

0

私はこれを理解しましたが、それが非常にエレガントな解決策であるかどうかはわかりません。

私の routes.rb では、定義されたすべてのルートの最後に次の行を追加しました。

get '*static'  => 'home#static_404'

次に、「ホームコントローラー」に次のメソッドを配置します。

  def static_404
    render :nothing => true
  end

動作しているように見えますが、Rails が*[random_letters]を使用してこのエラー ルートを定義することを強制する方法が好きではありません。
*単独では機能しないようですが、後で何か入力すると機能します。

于 2013-05-28T13:07:35.227 に答える