2011-07-08 95 views
0

我有問題得到JQuery被紅寶石解析。Rails與JQuery的HTML操縱

例如,下面這行代碼應該在id爲'title'的div後面添加@ user's username。

$('#title').after('<%= escape_javascript(@user.first.username') %>); 

但是,我得到的輸出是我還沒有發現任何關於這個專門張貼在堆棧溢出尚未在解析字符串,完成&lt;

而且我是按照幾個教程不成功。

在此先感謝您的幫助!

回答

0

erb在頁面加載之前被解析,所以這是在JavaScript執行過程中插入erb代碼,它根本不會被解析。一個更好的辦法來做到這一個是插入JS設置一個變量,然後使用該變量:

<script> 
var myObj = "<%= escape_javascript(@user.first.username) %>"; 
$('#title').after(myObj); 
</script> 
0

我認爲你不應該採取這種方法...放置腳本代碼會在ERB是聞到IMO。您最好使用用戶名和ID爲'user_name'創建一個隱藏的輸入字段,然後在app.js中使用不顯眼的js來獲取字段值並追加它。

$(document).ready(function(){ 
    $('#title').after($('input#user_name').val()); 
}); 
+0

我同意並接受您的建議。但是,詹姆斯德維爾的回答確實是我的問題的核心。不過謝謝你! – TimeEmit