2012-04-04 58 views
1

我知道我是Rails中的新手,但这是我要因此而浪费的第二天。有人能帮我弄清楚我做错了什么吗?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所有// =需要blablabla.js后

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

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

编辑:
发生什么事是我点击注册按钮,将显示设置页面,当我点击每个选项卡上,将出现与盒:
请求的内容不能被加载。 请稍后再试。错误消息

+0

你看到什么错误? – tybro0103 2012-04-04 16:04:14

+0

刚刚编辑解释 – Barbared 2012-04-04 16:08:17

+0

我的猜测是你需要通过局部散列将ivars传递给partials。 – Brian 2012-04-04 16:11:13

回答

4

我不认为这是轨道相关 - 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 
+0

我想你的意思是$(“a.fancybox”)。fancybox();'将那个(链接)选择器绑定到fancybox。 – JFK 2012-04-04 20:49:23

+0

@JFK是的,你是对的,更新 – 2012-04-05 02:05:20

+0

这实际上工作。嵌套代码困惑了我。我只是在link_to方法中添加了:class属性,它工作正常。 谢谢 – Barbared 2012-04-05 09:22:31