2012-04-04 39 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