在Rails中添加模态对话框?

时间:2011-09-02 10:04:27

标签: ruby-on-rails jquery modal-dialog

我想在我的应用程序中添加Ajax链接。当我点击链接时,它会弹出一个包含事件详细信息的模态对话框。 我在我的帮助类中添加了这个链接。

 link_to(event.name, events_path(@event), :remote => true 

然后我创建js文件以将内容插入隐藏的div。

$('.modal').html(<%= escape_javascript(render(@event)) %>); 
$('.modal').dialog(); 

在这里,模态是我隐藏的div。但它无法弹出任何模态对话框。我无法理解错误是什么,为什么它不起作用。 Plz有人可以帮我纠正这个吗?

2 个答案:

答案 0 :(得分:2)

更改

$('.modal').html(<%= escape_javascript(render(@event)) %>);

$('.modal').html("<%= escape_javascript(render(@event)) %>");

从JS的角度来看,您的代码将无效,因为您没有将引号包装在引号中,它会尝试评估您的HTML。

修改

如果您尝试在show点击时链接到此内容,则需要使用show.js.erb来显示模态对话框,而不是create.js.erbcreate只有在您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