rails在javascript url中添加对象
rails add object in javascript url
我在js文件上使用这个函数,它可以在上工作
$(function() {
$("#badgebutton").click(function() {
var assertions = [
"http://www.exemple.com/patents/5555/badge.json"
];
OpenBadges.issue(assertions, function(errors, successes) {
console.log("callback called");
console.log("Errors:", errors);
console.log("Successes:", successes);
});
});
});
代替编号:
"http://www.exemple.com/patents/5555/badge.json"
我想使用这个专利。我试过这个:
"http://www.exemple.com/patents/#{@patent.id}/badge.json"
以及其他一些解决方案,但没有成功。。
尝试这样做:
"http://www.exemple.com/patents/<%= @patent.id %>/badge.json"
但是,当您在routes.rb文件中定义Rails生成的路由助手方法时,建议使用它们。例如:
<%= badge_patents_path(@patent, :format => :json) %>
您应该使用js上下文将专利id(或者更好的是整个url)传递到js文件,这可以通过以下几种方式完成:
- 使用全局变量:
在你的部分(erb):
<script type="text/javascript">
window.patent_url = "http://www.exemple.com/patents/#{@patent.id}/badge.json"
</script>
然后使用JS文件中的全局patent_url变量。
- 重做你的JS文件来封装JS逻辑,但要接收这样的适当参数
它可能看起来像这样:
window.badgebutton_handler = function(url) {
OpenBadges.issue(url, function(errors, successes) {
console.log("callback called");
console.log("Errors:", errors);
console.log("Successes:", successes);
});
}
并在erb文件中绑定这样的处理程序:
<script type="text/javascript">
$("#badgebutton").click(function() {
badgebutton_handler("http://www.exemple.com/patents/#{@patent.id}/badge.json");
});
</script>
问题是,您应该将变量或url传递到您拥有它的地方,这就是ERB模板文件。
相关文章:
- FabricJs-限制主对象内添加对象的移动区域
- 向Angular作用域对象添加对象数组——TypeError
- Javascript使用+添加对象
- 动态添加对象的jQuery事件处理程序
- 添加JQuery UI在Meteor中添加对象后可调整大小
- 在我的上下文中添加对象的动态方法
- 如何检测是否已使用 angular.forEach AngularJS 添加对象
- 在对象coffeescript中添加对象数组
- 使用Jquery在单击“”时显示表单;添加对象”;按钮
- 我可以向数组添加对象键吗
- 向扩展数组的JS集合添加对象(继承?)
- 尝试通过从自动完成推送添加对象时缺少 $$Hashkey
- 添加对象值 Javascript
- 在上传问题时添加对象
- 如何使用 javascript 的变量名称在数组中添加对象属性
- 在 JavaScript/TypeScript 中动态地“直接”添加对象属性到“this”
- 如何仅当对象不存在时才使用javascript添加对象
- 如何在数组末尾添加对象的副本
- rails在javascript url中添加对象
- ThreeJS-按不同顺序添加对象会影响alpha/显示