2015-05-04 85 views
3

渲染視圖中的部分我有一個「項目」的形式爲部分。我試圖使用jQuery呈現局部當用戶點擊一個按鈕:Ruby on Rails的:如何通過jQuery

$('.projects').append("<%= render partial: 'projects/project') %>").html_safe 

但是,使用上面的代碼是從字面上呈現「<%=渲染部分:‘項目/工程’)%>」上頁面而不是實際的部分。

+1

我覺得你的JavaScript文件沒有在它的'erb'擴展,如果是則來自'file.js'重命名爲'file.js.erb' –

+0

這是什麼文件,反正叫什麼名字?因爲它看起來像js,但是你添加了'.html_safe'這是紅寶石,並且你說表單部分,所以idk。 –

回答

4

我認爲將您的文件擴展名從xxx.js重命名爲xxx.js.erb可能會解決您的問題。

+0

我認爲伯尼是正確的。如果文件以erb結尾,那麼rails將呈現視圖。如果不是,那麼它只是將其視爲任何其他靜態文件。 –

1

嘗試:

$('.projects').append("<%= j render partial: 'projects/project') %>"); 

jescape_javascript別名。

escape_javascript助手查看文檔。

2

試試這個:

$('#projects').html('<%= escape_javascript render 'projects/project' %>'); 

注:作爲Bernie Chiu建議您需要的文件擴展名從xxx.js更改爲xxx.js.erb