シンプルなemberappをレールで作ろうとしたところ、システムからのユーザー情報がいくつか表示されていました。なぜユーザを取得し、ユーザ/インデックスルート上のユーザではないのですか?
マイルート:/ API /ユーザー戻り、このJSON:
{"users":[{"id":1,"username":"Evolutio","email":"[email protected]"}]}
マイemberadapter:
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
host: 'https://api.domain.tld',
namespace: 'api',
headers: {
//"API_KEY": "secret key",
}
});
私のユーザー/ model.js
import DS from 'ember-data';
export default DS.Model.extend({
username: DS.attr('string'),
email: DS.attr('string')
});
私のユーザー/インデックス/経路.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
let users = this.store.findAll("users");
return users;
}
});
私はこのURLを参照してください:localhostを:私は、ユーザーを削除すると4200 /ユーザーは
/model.js私はこのエラーを取得する:
WARNING: Encountered "users" in payload, but no model was found for model name "user" (resolved model name using [email protected]:application:.modelNameFromPayloadKey("users"))
ユーザーから
私のインデックステンプレート:
<ul>
{{#each model as |user|}}
<li>
{{#link-to 'users.show' user}}
{{user.username}} {{user.roles}}
{{/link-to}}
</li>
{{/each}}
</ul>
私scndの問題があること、です私はどんな関係も作ることができない。 私のAPIのリターンは今、この:
{"users":[{"id":1,"username":"Evolutio","email":"[email protected]","roles":[{"id":5,"name":"admin","alias":"Administrator"}]}]}
私のユーザー/ model.js:
import DS from 'ember-data';
export default DS.Model.extend({
username: DS.attr('string'),
email: DS.attr('string'),
roles: DS.hasMany('role'),
});
、今、私はこのエラーを得た:
Error while processing route: users.index Assertion Failed: Passing classes to store methods has been removed. Please pass a dasherized string instead of undefined
私はこれでそれを解決: 私user_serializer.rb:
class UserSerializer < ActiveModel::Serializer
attributes :id, :username, :email, :display_role
#has_many :roles
def display_role
"#{object.roles[0].alias}"
end
end
と私のユーザー/ model.js:
import DS from 'ember-data';
export default DS.Model.extend({
username: DS.attr('string'),
email: DS.attr('string'),
display_role: DS.attr('string')
});
おかげで、素晴らしい作品! – Evolutio
maye私の2番目の問題を調べることができます。 ホームページにリンクしているアプリをベースとして使用しました。しかし、私は間違いがない。 – Evolutio
だから 'name'と' alias'フィールドと 'user:belongsTo( 'user')'で 'app/model/role.js'をすでに持っていますか? – Zoltan