2

User と Recipe の 2 つのモデルがあります。レシピ ページのユーザー フィールドと、ユーザー ページの各レシピのユーザー名を取得したいと考えています。やり方がわかりません。Railsには、ユーザーとレシピの間に2つの関連性があります。Rails から取得した json 配列の例を追加しました。

私のjsonユーザー配列

user: {
  id: 1,
  name: "ejiqpep",
  email: "ejiqpep@gmail.com",
  recipe_ids: [
    1,
    2
  ],
  box_recipe_ids: [
    1,
    2
  ]
}

私のjsonレシピ配列

recipe: {
  id: 1,
  title: "recipe01",
  about: "about01",
  ingredients: "ingredients01",
  steps: "steps01",
  visibility_type: true,
  slug: "recipe01",
  user: {
    id: 1,
    name: "ejiqpep",
    email: "ejiqpep@gmail.com",
    recipe_ids: [
      1,
      2
    ],
    box_recipe_ids: [
      1,
      2
    ]
  }
}

user.js.coffee

App.User = DS.Model.extend
  name: DS.attr('string')
  email: DS.attr('string')
  recipes: DS.hasMany('App.Recipe')
  box_recipes: DS.hasMany('App.Recipe')

レシピ.js.コーヒー

App.Recipe = DS.Model.extend
  user: DS.belongsTo('App.User')
  title: DS.attr('string')

user.handlebars (各レシピでユーザー名を取得したい)

<h1>{{name}}</h1>
<p><b>Email:</b> {{email}}</p>

<h3>User recipes</h3>
{{#each recipe in recipes}}
  <div>
    <span>{{recipe.id}}</span>
    <span>!!!I want to show username here!!!</span>
    <span>{{#linkTo recipe recipe}} {{recipe.title}} {{/linkTo}}</span>
  </div>
{{/each}}

<h3>User box_recipes</h3>
{{#each fav in box_recipes}}
  <div>
    <span>{{fav.id}}</span>
    <span>!!!I want to show username here!!!</span>
    <span>{{#linkTo recipe fav}} {{fav.title}} {{/linkTo}}</span>
  </div>
{{/each}}

レシピ.ハンドルバー

<h1>{{title}}</h1>
<p>User {{user.name}}</p>  # I want to show username here!!!
4

1 に答える 1

0

それが機能するかどうかは正確にはわかりません...でも試してみてください:

アップデート:

{{#each recipes}}
  <div>
    <span>{{id}}</span>
    <span>{{../name}}!!!I want to show username here!!!</span>
    <span>{{#linkTo recipe this}} {{title}} {{/linkTo}}</span>
  </div>
{{/each}}
于 2013-04-13T19:48:46.497 に答える