Jquery 在HAML:javascript标记中传递javascript变量以呈现调用
我正在尝试为我的rails应用程序创建新闻提要。然而,我遇到了一个问题,更新正在播放的新闻故事的数量。下面的代码来自我视图中的一部分 当某个div滚动到底部时,我想在相同id的div中重新呈现部分“最近的新闻内容”。然而,当我为了重新呈现而转义javascript时,我无法访问我的newsLimit变量,我不知道如何修改@news\u limit,也不认为我可以从HAML或任何视图中创建一个新的ruby变量来访问我的重新呈现语句Jquery 在HAML:javascript标记中传递javascript变量以呈现调用,jquery,ruby-on-rails,escaping,haml,Jquery,Ruby On Rails,Escaping,Haml,我正在尝试为我的rails应用程序创建新闻提要。然而,我遇到了一个问题,更新正在播放的新闻故事的数量。下面的代码来自我视图中的一部分 当某个div滚动到底部时,我想在相同id的div中重新呈现部分“最近的新闻内容”。然而,当我为了重新呈现而转义javascript时,我无法访问我的newsLimit变量,我不知道如何修改@news\u limit,也不认为我可以从HAML或任何视图中创建一个新的ruby变量来访问我的重新呈现语句 %h4#recent-news-header.center.top
%h4#recent-news-header.center.top-header Recent News
%div#recent-news-box.bordered.selectable
%div#recent-news-content
= render :partial => "recent_news_content", :locals => {:news_limit => @news_limit}
:javascript
$(document).ready(function() {
var newsLimit = @news_limit
$("#recent-news-box").bind('scroll',function(e) {
var elem = $(e.currentTarget);
if (elem[0].scrollHeight - elem.scrollTop() < elem.outerHeight()) {
newsLimit += 5;
$('#recent-news-content').html("#{escape_javascript(render :partial => 'recent_news_content', :locals => {:news_limit => newsLimit})}");
}
});
});
无法识别最后一个newsLimit,因为我转义了javascript,在将其发送到render之前,我无法想出如何让javascript用其值替换它:
我也意识到,在视图中包含这样的功能逻辑并不是最好的样式,我愿意接受建议 我通过一个AJAX服务器调用成功地解决了这个问题,每次用户滚动到提要底部时,都显式地为@news\u limit分配必要的值 我使用的技术类似于: