单击rails中的URL时如何弹出面板?

我是rails的新手,我需要知道如何通过单击URL来弹出面板? 请有人给我解决这个问题。

您可以通过www.jqueryui.com查看modal dialog。 将jquery ui添加到您的应用程序中。

在布局页面中放置一个隐藏的div(display:none)。

 

您的链接应该是ajax链接:

 <%= link_to 'Link', events_path(@event), :remote => true %> 

您的控制器应该接受ajax响应:

 def show @event = Event.find(params[:id]) respond_to do |format| format.js end end 

这就是魔术发生的地方。 通过ajax按下链接后,show.js文件会将内容插入到空的隐藏div中并显示弹出窗口。 您的视图应该有一个javascript文件:/view/events/show.js.erb

 $('.modal').html("<%= escape_javascript(render(@event)) %>"); //inserts content into your empty div, be aware that the parameter needed to be quoted. $('.modal').dialog(); //jquery ui will open it as a modal popup 

在上面的示例中,它将呈现事件部分。 所以你应该通过在/ views / events /中创建一个_event.html.erb文件来实现它

看看Shadowbox , Colorbox或Lightbox 。

使用Shadowbox的代码示例:

在你的头标记:

 <%= stylesheet_link_tag "shadowbox" %> 

在应用程序布局中(在关闭body标签之前):

 <%= javascript_include_tag "shadowbox.js" %>  

并在你的意见:

 link_to(event.name, event_path(event), :rel => 'shadowbox;width=500;height=300;') 

请注意,您可能需要更改上面的一些代码,具体取决于您解压缩Shadowbox源文件的位置。 希望有所帮助。

打开新窗口实际上不是rails责任。 你应该使用javascript片段来完成它。 考虑一下:

  

你应该适合你需要的第三个论点。 请看: http : //www.javascript-coder.com/window-popup/javascript-window-open.phtml

请注意,在js(<%=%>)中使用rails片段没有问题,因此您可以使用一些帮助方法使链接灵活。