在我的应用程序中,我有一个带有标签的页面,用于更新内容区域的内容。我有结构化,以便内容区域保存对象的多个属性的数据,jquery选项卡只是隐藏/取消隐藏属性,使它们与选定的选项卡对应。
换句话说,所有数据都位于页面上,我使用jquery来更新div类来隐藏/取消隐藏部分数据。结果没有使用Ajax。
我的问题是,如何让用户登录以便能够点击默认标签旁边的标签?如何检查用户是否只使用这样的jquery按钮登录,如何调用弹出窗口要求用户登录?
谢谢!
请注意----
我正在使用Devise,因此我可以访问这些方法来检查用户是否已登录
答案 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? %>