0

在我的应用程序中,我有一个带有用于更新内容区域内容的选项卡的页面。我对其进行了结构化,以便内容区域保存对象的多个属性的数据,并且 jquery 选项卡只是隐藏/取消隐藏属性,以便它们与选定的选项卡相对应。

换句话说,所有数据都在页面上,我正在使用 jquery 来更新 div 类以隐藏/取消隐藏部分数据。因此没有使用 Ajax。

我的问题是,我将如何做一些事情,比如要求用户登录才能点击默认选项卡以外的选项卡?您如何检查用户是否仅使用这样的 jquery 按钮登录,以及如何执行诸如调用弹出窗口以要求用户登录之类的操作?

谢谢!

笔记 - -

我正在使用 Devise,因此我可以访问这些方法来检查用户是否已登录

4

2 回答 2

2

这不是 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 %>

“登录?” 必须在您的应用程序中运行,以检查用户是否已注册。

于 2013-05-20T16:17:11.957 回答
1

首先,我认为您做错了,因为您加载了所有内容,然后尝试使用 jQuery 过滤数据。您页面上的一个简单“显示源代码”以及您隐藏的所有内容都是公开的。

正如 Parandroid 所说,您必须制作一些服务器端的东西。

为什么不使用优秀的Ruby on Rails 的 jQuery UI Helpers呢?然后你可以正确地做到这一点(示例取自文档):

<% tab.create('tab_to_hide', 'Private Stuff') do %>
    # content
<% end unless @current_user.nil? %>
于 2013-05-20T16:24:04.767 回答