Skip to content

Instantly share code, notes, and snippets.

@bartocc
Last active July 1, 2016 20:47
Show Gist options
  • Select an option

  • Save bartocc/a884c42062cb1647d38bd0b9e4dc0f14 to your computer and use it in GitHub Desktop.

Select an option

Save bartocc/a884c42062cb1647d38bd0b9e4dc0f14 to your computer and use it in GitHub Desktop.
link-to with undefined href
Displaying post {{model.id}}
<br>
{{#link-to 'user' model.user}}Link to user{{/link-to}}
<br>
{{#each model.comments as |comment|}}
{{#link-to 'comment' comment}}Link to comment {{comment.id}}{{/link-to}}
{{/each}}
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
actions: {
createRecords() {
var user = this.store.createRecord('user', {
name: 'DHH',
slug: 'dhh'
});
var post = this.store.createRecord('post', {
title: 'Rails is Omakase',
slug: 'rails-is-omakase',
user: user
});
var comment = this.store.createRecord('comment', {
body: '...',
slug: 'comment-1',
post: post
});
this.setProperties({
user: user,
post: post,
comment: comment
});
}
}
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
body: attr(),
slug: attr(),
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
title: attr(),
slug: attr(),
user: belongsTo(),
comments: hasMany(),
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
name: attr(),
slug: attr(),
});
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: 'none',
rootURL: config.rootURL
});
Router.map(function() {
this.route('user', {path: '/user/:slug'});
this.route('post', {path: '/post/:slug'});
this.route('comment', {path: '/comment/:slug'});
});
export default Router;
import Ember from 'ember';
export default Ember.Route.extend({
});
import Ember from 'ember';
export default Ember.Route.extend({
model(params) {
return this.store.findRecord(
'post',
params.id,
{include: 'user,comments'}
);
}
});
<h1>Welcome to {{appName}}</h1>
<a href="#" {{action 'createRecords'}}>First, create the records</a>
<br>
{{#link-to 'post' post}}Then, go to the post page{{/link-to}}
{{outlet}}
{
"version": "0.10.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.6.0",
"ember-data": "2.6.1",
"ember-template-compiler": "2.6.0"
},
"addons": {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment