我的网站上有类似按钮的奇怪问题.当我进入一个页面时,它显示正确,比刷新后它没有出现,我有javascript错误
Run Code Online (Sandbox Code Playgroud)FB.provide is not a function [Break on this error] FB.provide('Array',{indexOf:function(a...|c.hasOwnProperty(d))a(c[d],d,c);}});
初始化和异步包括js看起来像这样
<body>
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: 'fffffffffffffffffffffffffffffff', status: true, cookie: true, xfbml: true});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
Run Code Online (Sandbox Code Playgroud)
继承人喜欢和分享按钮的输入代码:
<fb:like href="<%= link -%>" layout="button_count" font="arial"></fb:like>
<a title="Share" name="fb_share" type="button_count" share_url="<%= link -%>" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗 ?
是否可以在单独的文件中定义能力并将它们包含在 initialize 方法内的ability.rb文件中?
下面的代码返回:尝试并得到:未定义的方法“可以”
能力.rb
def initialize(user)
include MyExtension::Something::CustomAbilities
...
end
Run Code Online (Sandbox Code Playgroud)
lib/my_extension/something.rb
module MyExtension::Something
module CustomAbilities
can :do_it, Project do |project|
check_something_here and return true or false...
end
end
end
Run Code Online (Sandbox Code Playgroud)
如果可能的话,完美的解决方案是使用 Ability.send :include/extend 扩展类能力,因此在初始化方法中没有显式包含