繁体   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