將gem「ember-rails」用於現有軌道應用程序。我試圖使用Ember路由一個資源,並且有很多人告訴我這個代碼應該工作,但事實並非如此。使用「ember-rails」將軌道從Rails遷移到Ember使用「ember-rails」
我想突破學習曲線並完成這項工作,但我需要一些幫助。
錯誤
Routing Error
No route matches [GET] "/newslinks"
代碼
的application.js
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require jquery-fileupload/basic
//= require jquery-fileupload/vendor/tmpl
//= require chosen-jquery
//= require bootstrap
//= require bootstrap-notify
//= require jquery.limit-1.2.source
//= require bootstrap-switch
//= require handlebars
//= require ember
//= require ember-data
//= require_self
//= require app
app.js
App = Ember.Application.create({
LOG_TRANSITIONS: true,
ready: function() {
console.log('App ready');
}
});
App.Router.map(function() {
this.resource('newslinks', { path: '/' });
});
App.IndexRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('newslinks');
}
});
App.NewslinksRoute = Ember.Route.extend({
model: function() {
return App.Newslink.find();
}
});
DS.RESTAdapter.reopen({
namespace: 'api/v1'
});
App.Store = DS.Store.extend({
revision: 13
});
App.Newslink = DS.Model.extend({
name: DS.attr('string')
});
的routes.rb
namespace :api do
namespace :v1 do
resources :newslinks
end
end
application.handlebars
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="Ember - Latest" />
<meta charset=utf-8 />
<title>Ember Latest</title>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0-rc1/css/bootstrap.min.css" rel="stylesheet">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0-rc1/js/bootstrap.min.js"></script>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://builds.emberjs.com/handlebars-1.0.0.js"></script>
<script src="http://builds.emberjs.com/ember-latest.js"></script>
<script src="http://builds.emberjs.com/ember-data-latest.js"></script>
</head>
<body>
<script type="text/x-handlebars">
<h2>Here I am</h2>
</script>
</body>
</html>
結論
請讓我知道你會如何建議設置只有一個途徑:/ newslinks通過Ember並使用現有的導軌路線進行渲染。
這不是關於數據(只是想使用餘燼渲染路線)。此外,這段代碼在jsbin中工作,所以它也沒有關於讓Ember獨立於rails的工作
我需要引導rails來呈現routes.rb中的Ember路由嗎?或者是Ember路線坐在軌道路線的頂部並且櫻桃選擇它識別的路線?
嘿Márcio,我按照你的指示,但沒有工作。我仍然得到這個錯誤:'沒有路線匹配/新聞鏈接'我試圖讓路線工作,才允許數據顯示,但我不能讓頁面甚至顯示。 –
你想製作一個單頁的應用程序嗎?看看回購示例https://github.com/wulftone/rails-ember-example –
我認爲這個問題是因爲你試圖訪問'localhost/newslinks'而不是'localhost/api/v1/newslinks '。請。嘗試訪問那一秒。 –