2014-12-04 101 views
0

我不想將活動記錄關聯添加到dom,但遇到問題。使用rails活動記錄關聯創建javascript變量

我這個編輯器類

.editing 
    .row 
    .col-sm-3 
    .col-sm-8 
     .text-left 
     #font-20 
      .title-font 
      .title-editor 

正因爲如此,該編輯器是空的這是它應該做的。但是當有人編輯他們的標題時,我無法顯示他們保存的標題。這個編輯器的加載是使用jquery,並且沒有頁面刷新。

在我的javascript我有

JS獲得我想要的標題對象的ID:

var draft = $(e.target).attr('class'); 
var id = id.slice(draft); 

使用該ID我想要的對象標題添加到DOM。
這樣的事情會很理想,但我不認爲這是可能的。

var title = <%= Draft.find_by(id: $id).title %> 
$('.title-editor').html(title); 

我該怎麼做這樣的事情?

回答

0

那麼,你就需要最終用ajax ...

首先,你可以做一個細微的變化,以您的drafts_controller.rb。一要做到這一點的方法是:

def show # @draft is supposingly defined in a before_action callback 
    respond_to do |format| 
     format.html 
     format.json { 
      render :json => {'title' = @draft.title} 
     } 
    end 
end 

因此,如果您@draft爲:{ID:1,標題: '你好'},你將有:
http://your.app.com/drafts/1.json這會使{"title":"hello"}

你如何使用它?簡單...在您看來,您將此代碼綁定到將會觸發它的事件。

$.ajax({ 
    type: "GET", 
    url: "/drafts/"+id+".json", 
    dataType: "json", 
    success: function(data) { 
     $('.title-editor').html(data.title); 
    } 
});