我想在我的应用程序中添加Ajax链接。当我点击链接时,它会弹出一个包含事件详细信息的模态对话框。 我在我的帮助类中添加了这个链接。
link_to(event.name, events_path(@event), :remote => true
然后我创建js文件以将内容插入隐藏的div。
$('.modal').html(<%= escape_javascript(render(@event)) %>);
$('.modal').dialog();
在这里,模态是我隐藏的div。但它无法弹出任何模态对话框。我无法理解错误是什么,为什么它不起作用。 Plz有人可以帮我纠正这个吗?
答案 0 :(得分:2)
更改
$('.modal').html(<%= escape_javascript(render(@event)) %>);
到
$('.modal').html("<%= escape_javascript(render(@event)) %>");
从JS的角度来看,您的代码将无效,因为您没有将引号包装在引号中,它会尝试评估您的HTML。
修改强>
如果您尝试在show
点击时链接到此内容,则需要使用show.js.erb
来显示模态对话框,而不是create.js.erb
。 create
只有在您POST
表单/events
时才会被调用,而此处看起来您正试图仅显示该事件的详细信息。
将上面的代码(带引号)放在show.js.erb
中,确保控制器上的respond.js
方法中有show
响应,然后再试一次。
答案 1 :(得分:0)
你可能没有安装Jquery,因为rails默认是Prototype库。我会升级到Rails 3.1,这样可以很容易地使用jquery:
rails new example -j jquery
或安装jquery: http://railscasts.com/episodes/136-jquery