Rails - 如何要求用户登录jquery电源按钮

时间:2013-05-20 16:11:20

标签: jquery ruby-on-rails

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

换句话说,所有数据都位于页面上,我使用jquery来更新div类来隐藏/取消隐藏部分数据。结果没有使用Ajax。

我的问题是,如何让用户登录以便能够点击默认标签旁边的标签?如何检查用户是否只使用这样的jquery按钮登录,如何调用弹出窗口要求用户登录?

谢谢!

请注意----

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

2 个答案:

答案 0 :(得分: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 %>

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

答案 1 :(得分:1)

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

正如Parandroid所说,你必须做一些服务器方面的东西。

为什么不使用优秀的Ruby on Rails' jQuery UI Helpers? 然后,您可以正确地执行此操作(例如,从文档中获取):

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