Lau*_*ent 1 javascript jquery ruby-on-rails
我在rails application.js文件中实现了以下代码.当用户点击链接时,视图将重新加载完整的审阅者列表,而不是前4个:
$(document).ready(function(){
$("#more_reviewers").click(function(e){
$("#reviewer_list").html('<%= escape_javascript(render "restaurants/restaurant_reviewer_list", :venue => @restaurant, :limit => @restaurant.reviews.count) %>');
});
});
Run Code Online (Sandbox Code Playgroud)
问题:代码不是向我显示列表,而是将Rails代码作为文本返回.所以在我的屏幕上,我没有看到用户列表,而是看到:
'<%= escape_javascript(render "restaurants/restaurant_reviewer_list", :venue => @restaurant, :limit => @restaurant.reviews.count) %>'
Run Code Online (Sandbox Code Playgroud)
这可能是一个简单的 - 我会很感激.
Rails是一种服务器端编程语言.Javascript是客户端.您无法将ruby代码动态地放入您的网站客户端,因为它需要首先在服务器上运行.
您必须创建一个运行此行的rails脚本
<%= escape_javascript(render "restaurants/restaurant_reviewer_list", :venue => @restaurant, :limit => @restaurant.reviews.count) %>
Run Code Online (Sandbox Code Playgroud)
然后使用load()例如:将其加载到元素中:
$(document).ready(function(){
$("#more_reviewers").click(function(e){
$("#reviewer_list").load('http://url.to/the/script/you/made');
});
});
Run Code Online (Sandbox Code Playgroud)
这样服务器就会发送一个脚本请求,它运行脚本(服务器端)并将输出(html)传递给可以呈现它的javascript(客户端).
| 归档时间: |
|
| 查看次数: |
499 次 |
| 最近记录: |