Я использую ember-cli с бэкэндом Rails API и у меня возникают некоторые проблемы при добавлении новой записи.
Я настроил форму и маршрут и могу получить значения из формы,но save () не передает эти значения обратно в запрос POST для Rails, в результате чего создается пустая запись.
Буду признателен за любую помощь.
Адаптер application.js:
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend({
namespace: 'api'
});
Маршрут:
import Route from '@ember/routing/route';
export default Route.extend({
model() {
//return this.store.createRecord('book');
return {};
},
actions: {
saveBook(newBook) {
var curr = this.store.createRecord('book', {
title: newBook.title,
author: newBook.author,
genre: newBook.genre
});
alert("curr.title = " + curr.title);
curr.save();
this.transitionTo('books');
},
}
});
Шаблон:
<h2>Add Book</h2>
<div class="layout-row">
{{!-- {{book-form model=model buttonLabel="Add Book" action='saveBook'}} --}}
<div class="form-horizontal">
<div class="layout-row">
<div class="layout-column flex-200">
{{paper-input label="Title" value=model.title onChange=(action (mut model.title))}}
</div>
</div>
<div class="layout-row">
<div class="layout-column flex-200">
{{paper-input label="Author" value=model.author onChange=(action (mut model.author))}}
</div>
</div>
<div class="layout-row">
<div class="layout-column flex-200">
{{paper-input label="Genre" value=model.genre onChange=(action (mut model.genre))}}
</div>
</div>
<div class="layout-row">
<button type="submit" {{action "saveBook" model}}>Save</button>
</div>
</div>
</div>
Результат просмотра с помощью Ember Inspector:
{"data":{"id":"31","type":"books","attributes":{"title":null,"author":null,"genre":null}}}