2013-02-19 85 views
0

這看起來像是一個已經被問到的問題,但我找不到我正在尋找的東西,所以我只會繼續提問。將Rails模型保存爲JSON

我正在嘗試使用angular.js在我的網站上進行即時搜索功能。我希望用戶能夠立即搜索帖子(通過標題和內容,理想),所以在聽到關於angular's ability to do this的消息後,我給了它一個鏡頭。

我有這樣的事情在我的posts.js.coffee文件:

@PostListCtrl = ($scope, $http) -> 
    $http.get("posts.json").success (data) -> 
    $scope.posts = data 

這在JSON文檔引用它回事(只是爲了確保它的工作 - 這是)。

data = 
    [ 
    name: "Blog ex" 
    content: "This is my example post." 
    , 
    name: "Test posting" 
    content: "A different ex post" 
    , 
    name: "Test3" 
    content: "This has some unusual, unique vocabulary." 
    ] 

現在我已經剩下要做的就是讓Rails的保存一個對象(名稱/內容屬性)每次創建新帖子,使搜索實際上是通過有意義的數據運行時間在上面的JSON文件。我是Rails/JSON /電腦新手,並沒有線索如何做到這一點。我猜它是在郵件控制器中,也許是在其中一個respond_to塊中,但是如果任何人都可以指向正確的方式來做到這一點,我會很感激。

+2

您應該重新考慮您正在做的事情......實質上,您希望每次用戶訪問時都將所有博客內容數據加載到頁面中,以便他們可以在本地進行搜索。您可以非常快速地將數據保留在服務器上並使用AJAX進行搜索。看看使用自動完成的小部件,如jQueryUI http://jqueryui.com/autocomplete/#remote – charlietfl 2013-02-19 04:26:28

回答

1

如果您只想要即時搜索或自動完成功能,則不應使用Angular.js或任何其他JS MVC框架。相反,考慮使用jQuery作爲@charliefl建議,這很容易。一個簡單的Ajax調用就可以做到。

JS MVC框架很重,您需要從底部設計適合它們的體系結構。不值得這樣一個單一的功能。

要啓用此功能工作jQuery的,基本上是:

  1. 聽上搜索框的情況下,說輸入一個或多個字符
  2. 捕捉人物和使用jQuery Ajax來發送POST請求到方法在Rails的PostsController中,說「搜索」
  3. 使這個方法響應JSON。
  4. 根據服務器響應更新DOM。
+0

K.採取的消息。我會研究你和charliefl的建議。謝謝! – Sasha 2013-02-19 07:40:46