Ruby on rails 在Rails中添加一个模态对话框?
我想在我的应用程序中添加一个Ajax链接。当我点击链接时,它会弹出一个模式对话框,其中包含事件的详细信息。。 我在助手类中添加此链接Ruby on rails 在Rails中添加一个模态对话框?,ruby-on-rails,jquery,modal-dialog,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(); $('.m
link_to(event.name, events_path(@event), :remote => true
然后我创建js文件,将内容插入到隐藏的div中
$('.modal').html(<%= escape_javascript(render(@event)) %>);
$('.modal').dialog();
$('.modal').html();
$('.modal').dialog();
在这里模态是我隐藏的div。但是它不能弹出任何模态对话框。我无法理解错误是什么,为什么不起作用。有人能帮我纠正这个吗?改变
$('.modal').html()代码>
到
$('.modal').html(“”)代码>
从JS的角度来看,您的代码将是无效的,因为您没有将渲染用引号括起来,它将尝试评估您的HTML
编辑
如果您试图在show
单击时链接到此,则需要使用show.js.erb
来显示模式对话框,而不是create.js.erb
<代码>创建
仅当您将表单发布到/events
时才会被调用,而在这里,您似乎只是试图显示事件的详细信息
将上面的代码(带引号)放在show.js.erb
中,确保在控制器上的show
方法中有respond.js
响应,然后重试。可能是因为rails默认为Prototype库,所以您没有安装Jquery。我将升级到Rails 3.1,这使得jquery的使用变得简单:
rails新示例-jquery
或安装jquery:
谢谢。。。但它仍然不起作用。没有错误。但它并没有弹出模态对话框。我已经编辑了上面的响应,您的问题可能是由于使用了错误的操作。当我这样做时,我得到了以下输出$('.modal').html(\n名称:\n Ruby\n\n\n\n开始时间:\n 2011-08-30 00:00:00 UTC\n\n\n\n\n结束时间:\n 2011-09-01 00:00:00 UTC\n\n\n培训师:\n Aaaa\n\n\n\n\n地点:\n Abc公司\n\n\n\n\n\n\n\n)$('.modal').dialog();没有加载模式对话框。它呈现部分的详细信息。但它显示在show.js.erbOK中。这听起来像是用HTML或纯文本而不是JS来评估您的响应。您使用的是什么版本的Rails?您是否偶然使用了rails\u ujs
?你能给我看一下你的show
控制器动作吗;具体地说,响应
块?您还可以再次检查您的控制台/日志文件,您应该有类似的内容:processingbyeventscoontroller#在调用时显示为JS
right;告诉我XX的是什么。Iam使用的是rails 2.3.8版本。响应| to do | format | format.js end事件控制器处理时,日志文件中没有显示任何内容