Я пробовал все, что мог, чтобы приложение ember обновляло API рельсов без успеха. Мой текущий код выглядит так: редактировать маршрут
import Ember from 'ember';
export default Ember.Route.extend({
actions: {
submit: function(){
var model = this.controller.get('model');
model.save();
this.transitionTo('movies.show', model);
}
}
});
редактировать.hbs
<form>
<div class="form-group col-sm-4">
<label for="title" class="col-sm-2 control-label">Title</label>
<div class="col-sm-10">
{{input value=title id=title class="movie-title"}}
</div>
</div>
<div class="form-group col-sm-4">
<label class="col-sm-2 control-label" for="director">Director</label>
<div class="col-sm-10">
{{input value=director id="director" class="movie-director"}}
</div>
</div>
<div class="form-group col-sm-4">
<label class="col-sm-2" for="rating">Rating</label>
<div class="col-sm-10">
{{input value=rating id="rating" class="movie-rating"}}
</div>
</div>
<button type="submit" class="btn btn-primary btn-block commit-movie-change" {{action 'submit'}}>Add</button>
</form>
router.js
import Ember from 'ember';
import config from './config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
this.resource('movies', function(){
this.route('show', {path: ':movie_id'});
this.route('edit', {path: ':movie_id/edit'});
this.route('create', {path: 'create'});
});
});
export default Router;
моя модель выглядит
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
director: DS.attr('string'),
rating: DS.attr('string')
});
На самом деле это работает для локального обновления и запуска PUT на сервер, но не отправляет какие-либо свойства/параметры в API. и когда я смотрю журнал сервера, он показывает
Started PUT "/api/v1/movies/10" for 127.0.0.1 at 2015-01-16 01:00:50 -0500
Movie Load (0.7ms) SELECT "movies".* FROM "movies" WHERE "movies"."id" = 10 LIMIT 1
(0.4ms) BEGIN
(0.6ms) COMMIT
Я в недоумении от этого. Я пытался написать метод updateRecord()
в маршруте, но это не работает. Любая помощь будет очень признательна. Если вам нужно увидеть какой-либо другой код, дайте мне знать.
$E.set('title', 'a title');
для установки заголовка и$E.save()
для сохранения модели. Содержит ли HTTP-запрос атрибут? - person Buck Doyle   schedule 16.01.2015