簡體   English   中英

Rails-如何要求用戶登錄以使用jquery供電的按鈕

[英]Rails - how to require user to be logged in for a jquery powered button

在我的應用程序中,我有一個帶有選項卡的頁面,這些選項卡可更新內容區域的內容。 我對其進行了結構化,以便內容區域包含對象的多個屬性的數據,並且jQuery選項卡僅隱藏/取消隱藏屬性,以便它們與所選選項卡相對應。

換句話說,所有數據都位於頁面上,我正在使用jquery來更新div類以隱藏/取消隱藏數據的一部分。 結果沒有使用Ajax。

我的問題是,我該如何執行類似操作,要求用戶登錄才能單擊默認選項卡之外的選項卡? 您如何檢查用戶是否僅使用類似jquery的按鈕登錄,以及如何執行類似調用彈出窗口以要求用戶登錄的操作?

謝謝!

注意 - -

我正在使用Devise,因此可以訪問那些方法來檢查用戶是否已登錄

那不是jQuery的交易! jQuery處理已經從服務器傳遞到客戶端瀏覽器的數據。 因此,jQuery中沒有任何限制不會阻止邪惡用戶查看您不希望他看到的頁面(jQuery可以將其隱藏在我的祖母面前)。

這是服務器端的任務。 例如:

<% if signed_in? %>
    <div id="secret_tab_for_signed_user">
        Secret for James Bond Here!
    </div>
<% else %>
    <div class="cool_popup">
        Nono, dr. Evil, you should register to view this little secret!
    </div>
<% end %>

“ sign_in?” 必須在您的應用中起作用,該功能可檢查用戶是否注冊。

首先,我認為您做錯了,因為您加載了所有內容,然后嘗試使用jQuery過濾數據。 頁面上的簡單“顯示源代碼”以及您隱藏的所有內容都是公開的。

正如Parandroid所說的,您必須制作一些服務器端的東西。

您為什么不使用出色的Ruby on Rails的jQuery UI Helpers 然后,您可以正確執行此操作(示例取自文檔):

<% tab.create('tab_to_hide', 'Private Stuff') do %>
    # content
<% end unless @current_user.nil? %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM