我有一个Rails API和EmberCLI前端应用程序。我的页面显示了艺术家列表。点击艺术家应该在页面上发送用户的所有专辑。我需要链接到用户的相册页面。每位艺术家都有自己的专辑页面。喜欢localhost:4200 / artists / 1。这就是我所拥有的:
我的路由器:
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
this.route('artists');
this.route('artist', { path: 'artist/:artist_id' });
});
export default Router;
模特艺术家:
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
itunes_id: DS.attr('number'),
albums: DS.hasMany('album')
});
模特专辑:
import Model from 'ember-data/model';
import DS from 'ember-data';
export default Model.extend({
name: DS.attr('string'),
artwork_url_100: DS.attr('string'),
artist_id: DS.attr('number'),
artist: DS.belongsTo('artist')
});
路线:1)artist.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.findAll('artist')
return this.store.findRecord('artist', params.artist_id);}
});
2)album.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.findAll('album');}
});
答案 0 :(得分:2)
就像@ timmy-omahony所提到的那样,文档中有一个whole guide about linking。您需要使用CASE WHEN h.user_id <=> :user_id THEN '1'
ELSE '0'
END paid
帮助程序,并将其传递给适当的配置:
link-to
在这个例子中,我使用了所谓的{{#link-to 'artist' 1}}Artist page{{/link-to}}
助手的块形式。把手标签之间的内容将是链接锚内的内容。我告诉它要链接到标识为link-to
的艺术家的artist
页面。
您也可以动态传递值:
1
或者你可以传递艺术家对象本身,将跳过模型钩子,默认情况下,id将序列化为URL:
{{#link-to 'artist' artist.id}}Artist page{{/link-to}}