Rails中的Fancybox表单无法正常工作

时间:2012-04-04 15:59:14

标签: jquery ruby-on-rails forms tabs fancybox

我知道我是Rails的新手,但这是我因此而浪费的第二天。有人能帮我弄清楚我做错了吗?

我希望我的用户从主页注册。单击“注册”按钮,框中会出现一个带有两个选项卡的fancybox,因为它们可以在两种不同的注册形式之间进行选择。一切都设置正确,因为fancybox出现但内部有错误信息。

主页

<ul class='nav pull-right'>
   <%= render 'devise/menu/registration_items' %>
</ul>

registration_items

<% if society_signed_in? %>
  <li>
    <%= link_to('Edit registration', edit_society_registration_path) %>
  </li>
<% else %>
  <li>
    <%= link_to('Register', regist_setup_path)  %>
  </li>
<% end %>

然后在设置中:

<div class="fancybox">
  <h2>Sign up</h2>

  <ul class="nav nav-tabs">
    <li class="active"><a data-toggle="tab" href="#society">Society</a></li>
    <li><a data-toggle="tab" href="#collaborator">Collaborator</a></li>
  </ul>

  <div class="tab-content">
    <div class="tab-pane active" id="society">  
      <%= render :partial => 'societies/form' %>  
    </div>
    <div class="tab-pane" id="collaborator">Collaborator
      <%= render :partial => 'collaborators/form' %>
    </div>
  </div>
</div>

两个渲染:部分只是正确显示表格。
然后Jquery在 application.js 之后// @ require blablabla.js

$(document).ready(function() {
  $(".fancybox").fancybox();
});

我试图在我的应用程序控制器中设置@society = Society.new和@collaborator = Collaborator.new但它仍然无法正常工作

编辑:
我点击注册按钮会出现什么情况,出现设置页面,当我点击每个选项卡时,该框出现:
无法加载请求的内容。 请稍后再试。错误消息

1 个答案:

答案 0 :(得分:4)

我不认为这是与rails相关的 - Fancybox和其他类似的javascript插件附加到链接元素,因此当它们被单击时,它将根据链接的href加载内容。

你的jquery调用应该是(在窗口加载中)

$(document).ready(function() {
  $("a.fancybox").fancybox();
});

所以我认为你想要这个:

<%= link_to('Register', "#popup-signup", :class=>"fancybox")  %>

然后弹出窗口中的内容:

<div id="#popup-signup">
  <h2>Sign up</h2>
  ..more stuff here