开发者

Rails HTML Manipulation with JQuery

I am having issues getting JQuery to be parsed by ruby.

For instance, the following line of code is supposed to add the @user's username after the div with id 'title.'

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

However, the output that I receive is a string that hasn't been parsed at, complete with &lt;

I haven't found anything specifically posted on this on Stack Overflow and I've followed several tutorials unsuccessfully.

Thanks in adva开发者_如何学编程nce for your help!


erb is parsed before the page loads, so this is inserting the erb code during javascript execution, which doesn't get parsed at all. A better way to do this one would be to insert JS to set a variable, and then use that variable:

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


I would argue you should not take this approach... Placing script tags in your erb is a smell IMO. You would be better off creating a hidden input field with the username and an id of 'user_name' and then using unobtrusive js in your app.js to get the field value and append it.

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜