立即聲明:不要將此問題視爲真正的應用程序。一切都是爲了自我教育和學習而專門完成的。jsSpine.js和兩個控制器
其次,我知道關係。我不想使用,因爲世界比簡單的關係更廣泛。作爲一個例子,一個包含你想要顯示在線用戶的文章的頁面,或者是所有參與寫文章的用戶。
想象一下,一個普通的應用程序可以顯示您可以創建,顯示,編輯和刪除的帖子列表。所有關於spine.js,一切工作正常。基於spine.rails3應用程序。 然後我添加了帶有post_id和body字段的評論模型。並在veiw Show上添加了按鈕評論。我想要的 - 就是通過按下按鈕來加載評論。 我comment.js.coffee:
class App.Comment extends Spine.Model
@configure 'Comment', 'post_id', 'body', 'created_at', 'updated_at'
@extend Spine.Model.Ajax
@fetch_comments: (id) =>
params =
data: {post_id: id}
url: '/comments/fetch'
processData: true
@ajax().fetch(params)
true
在Rails控制器:
def fetch
@comments = Comment.where("post_id = ?", params[:post_id])
respond_with @comments
end
在Chrome控制檯一切工作正常:
App.Comment.fetch_comments(11)
App.Comment.all()
,並從服務器接收所有評論post_id = 11.
而我的問題是,我不知道如何o不要從控制器的帖子同樣的事情:-( 在我posts.js.coffee:
class Show extends Spine.Controller
events:
......
'click [data-type=show]': 'comments'
comments: ->
@log(@item.id)
new App.Comments(@item.id)
Аnd這裏的問題....如何實現控制器App.Comments,所以它從加載服務器需要註釋? 現在我的位指示的樣子:
Comment = App.Comment
class Index extends Spine.Controller
constructor: (id)->
super
**App.Comment.fetch_comments(id)**
class App.Comments extends Spine.Stack
className: 'comments stack'
controllers:
index: Index
routes:
# '/comments/new': 'new'
'/comments/': 'index'
className: 'stack comments'
並在所選線路不能正常工作。我不知道該怎麼辦...
主要問題是如何從另一個控制器調用具有特定參數的控制器,並將結果顯示在主控制器中?
也許這是noob問題,但我希望你的幫助。 非常感謝提前。
對不起,但我不太明白。如何在** Index **控制器中使用** @ stack **?我如何訪問索引控制器中的** post_id **?當然在App.Comments中。 – none
我瞭解@stack。我會盡量使用。感謝名單。 – none