[英]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.