2013-08-10 2 views
0

Должно быть, я делаю что-то неправильно. У меня есть простое приложение подается с Rails следующим:Ember Router History Location, Rails дает ошибку 404

App.Router.reopen({ 
    location: 'history' 
}); 

App.Router.map(function() { 
    this.resource('news') 
}); 

Когда я захожу в приложение в корневой URL и использовать {{#linkTo}} для перехода к news маршруту, все работает нормально. URL обновляется до /news.

Но когда я пытаюсь перейти непосредственно к /news, Rails дает мне ошибку 404, потому что у меня нет маршрута news, определенного в Rails (очевидно).

Я прочитал некоторые проблемы в реплике Ember, обыскал about.emberjs.com и прочитал руководства, встроенную документацию и API для Ember.Location, и мне не ясно, как это сделать работать, или если он даже должен работать, как я ожидаю.

Что мне не хватает?

ответ

1

Вы должны отобразить одну и ту же страницу HTML по каждому URL-адресу, являющемуся частью приложения ember.

Вот пример: What should my Rails routes look like to work with pushState Ember.js routes?

+0

Я решил эту проблему путем добавления глобального Искателя к маршруту Rails: 'получить '* Foo' => 'high_voltage/страницы # показать', ID:«home'', но я подумал, что это взломать. Я думаю, это имеет смысл, хотя ... Спасибо за подтверждение! – mehulkar