我有一個型號爲WebsiteTemplate
,屬於WebLayout
。在UI中,我想顯示所有webLayouts
的列表,但能夠將html類添加到其ID與webLayout
相同的類。 webLayout
屬於websiteTemplate
,這是我們正在訪問的路線的模型。顯示與單獨控制器相關的模型
有關如何做到這一點的任何想法?我知道我的設置也可能有根本性的錯誤,所以對此我很歡迎。看起來好像我想通過render
與webLayout
傳遞另一個參數,但這似乎不是Ember方式。
# website_template model
App.WebsiteTemplate = DS.Model.extend
webLayout: DS.belongsTo("App.WebLayout")
# website_layout model
App.WebLayout = DS.Model.extend
name: DS.attr("string"),
thumbnail: DS.attr("string")
# router
App.Router.map ->
@resource "website_template", path: "/website_template/:website_template_id"
# website_template route
App.WebsiteTemplateRoute = Ember.Route.extend
setupController: ->
@controller.set 'webLayouts', App.WebLayout.find()
# website_template template
{{webLayout.id}}
{{render "_webLayouts" webLayouts}}
# web_layouts template
<ul>
{{#each controller}}
<li>
<a href="#" {{ action "addLayout" this }}>
<img alt="Thumbnail" {{ bindAttr src="thumbnail" }}>
{{ name }}
</a>
</li>
{{/each}}
</ul>
我知道下面不工作,但這裏的想法,我試圖完成的僞代碼。
# website_template template
{{render "_webLayouts" webLayouts webLayout}}
# web_layouts template
<ul>
{{#each webLayouts in controller}}
{{#if webLayouts.id is webLayout.id}}
<li class="selected">
{{else}}
<li>
{{/end}}
<a href="#" {{ action "addLayout" this }}>
<img alt="Thumbnail" {{ bindAttr src="thumbnail" }}>
{{ name }}
</a>
</li>
{{/each}}
</ul>
你能展示你的WebLayout模型的定義嗎? – intuitivepixel
@intuitivepixel我用'WebLayout'模型編輯了這個問題。目前沒有關聯。 –
當你使用'belongsTo'來聲明兩個模型之間的一對一的關係,我想應該有關聯... – intuitivepixel