1

Angular と Rails を使用してアプリケーションを作成しています。私の中にフォールバックがありますApplicationController

class ApplicationController < ActionController::Base
  protect_from_forgery

  before_filter :intercept_html_requests

  private

  def intercept_html_requests
    render('pages/index') if request.format == Mime::HTML
  end
end

そしてルーターのような:

betly.config(function($routeProvider, $locationProvider) {
  $locationProvider.html5Mode(true);

  $routeProvider.when('/', {
    templateUrl: 'assets/tournaments.html',
    controller: 'tournamentController'
  }).when('/aaa', {
    templateUrl: 'assets/tournaments.html',
    controller: 'tournamentController'
  }).when('/matches/:matchId',{
    templateUrl: 'assets/matchDetails.html',
    controller: 'matchController'
  }).otherwise({
    redirectTo:'/'
  });
});

views/layouts/application.html.erb:

<!DOCTYPE html>
<html lang="en" ng-app>
  <head>
    <meta charset='utf-8' />
    <title>BetLy</title>
    <%= stylesheet_link_tag    "application", media: "all" %>
    <%= csrf_meta_tags %>
  </head>
  <body>
    <%= yield %>
    <%= javascript_include_tag "application" %>
  </body>
</html>

そして、ブラウザにアクセスしようとすると/matches/10、アセットが無限にダウンロードされます。それを修正する理由と方法は?

4

1 に答える 1

0

問題はルートファイルにありました。Rails アプリですべてのルートをキャッチしようとしている場合/、ルートを追加するべきではないため、次のようになります。

match '*any', to: 'controller#method'

それ以外の

match '/*any', to: 'controller#method'
于 2013-06-05T12:54:59.170 に答える