RailsTutorial Exercise 10.5.7要求我为微博表格插入一个字符计数器。我正在使用this plugin来完成任务。
一切正常,但字符数div被插入两次,如下面的屏幕截图所示。
我怀疑这种情况正在发生,因为我正在使用form_for
标记,这需要一个块。这是页面代码:
<%= javascript_include_tag "character-counter", "character-counter-options" %>
<%= form_for(@micropost) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<div class="field">
<%= f.text_area :content, placeholder: "Compose new micropost...",
id: "new-micropost" %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
我可以根据需要发布javascript,但就像我说的那样,除了重复之外,一切正常。我没有更改任何插件代码,只是按照插件源中包含的示例选择我的选项。所有这些都可以在第一段的链接中找到。
更新:这是我正在使用的javascript。插件代码很长,所以我选择将它放在paste中。 InsertAfter
出现在粘贴的第38行。我的选择也是过去的,但由于它们很短,你也可以在这里阅读它们。
var info;
$(document).ready(function(){
var options = {
'maxCharacterSize': -2,
'warningStyle' : 'warning',
'warningNumber': 40,
'displayFormat' : '#input/140'
};
$('#new-micropost').textareaCount(options);
});
答案 0 :(得分:0)
对于我的一个应用程序,我正在使用jquery.char_limit.js
。
它对我来说很好。
答案 1 :(得分:0)
事实证明,由于我在资产管道中包含了javascript,因此它被加载了两次。它由资产管道加载一次,然后再以我的形式部分加载(参见我的OP中模板代码的第一行)。
请参阅:$(function) gets called twice in Rails 3.2.1 App
我并不是真的需要每个页面上的代码,只是在那个部分,所以我会将文件移出资产管道。 :/