前島です。

試していないのですが、下記のような感じで行けるのではないでしょうか。

ルーティングは上に書いたものから順番にマッチしているかチェックして、一番最初にマッチしたものが適用されます。
最初に match '*path', ... とすると、他の定義にはまわってきません。

# config/routes.rb

scope 'api' do
    resources :events,  :defaults => { :format => :json } 
end

match '*path', :to => redirect('/')


2013年4月23日 12:11 abe <dictav@gmail.com>:
こんにちは。
config/routes.rb の書き方について質問します。

Backbone.js と組み合わせて使いたいと思っています。
view は public/index.html 1つだけとして、HTMLの表示にRails の view 及び controller は使いません。
Rails では /api/resources のようなアクセスだけ処理するようにし、/new のようなアクションは全て public/index.html を表示し、index.htmlで読み込んでいるBackbone.jsで処理したいと思っています。

# config/routes.rb
match '*path', :to => redirect('/')
scope 'api' do
    resources :events,  :defaults => { :format => :json } 
end

# App.router.js.coffee
class App.Routers.Events extends Backbone.Router
  routes:
    '' : 'index'
    'new' : 'createEvent'

  index: ->
    alert 'index'

  showEvent: ->
    alert 'show event'


こんな感じかと思ったのですが、うまくいきませんでした。
redirectしているのが悪いと思うのですが、何か良い書き方はあるでしょうか?

よろしくお願いします。
--
Shintaro Abe



--
前島 真一(@netwillnet)
http://willnet.in/