代码之家  ›  专栏  ›  技术社区  ›  dangerousdave

对于经过身份验证的RubyonRails站点,哪个操作最适合映射到站点索引页面?

  •  0
  • dangerousdave  · 技术社区  · 13 年前

    我的RubyonRails web应用程序具有标准身份验证。当用户从索引页面登录时,我决定将索引页面建模为“user_sessions”资源的“new”操作。

    我决定使用css隐藏登录表单,这样它就可以在javascript启动的模式对话框中显示出来。

    现在的问题是,当用户关闭javascript时,我该怎么办?我将它们发送到哪里登录?

    我考虑对javascript隐藏登录表单,所以如果javascript被关闭,表单将保持可见。这样做的问题是,当加载页面时,表单会在消失之前短暂出现。

    2 回复  |  直到 13 年前
        1
  •  2
  •   rewritten    13 年前

    我不会走那条路。建立一个普通的索引页面,并链接到登录表单。然后使用 ujs ,将链接设置为 remote (所以它是异步管理的),并注册其处理程序以在弹出窗口中显示结果表单。

    (in the view)
    link_to new_user_session_path, :remote => true, :class => "possibly-modal-dialog"
    
    (in some js or coffee file)
    $(document).on "click", "a.possibly-modal-dialog", (event) ->
      event.preventDefault
      # to whatever needed to show the dialog.
    

    这样,没有javascript的用户将看到正常链接,而有javascript的用户只会触发模态对话框。

        2
  •  1
  •   alex    13 年前

    你真的需要关闭javascript的用户吗?在主页上为他们发出通知:

    <noscript>
        <p><font color="red" size="3"><b>Javascript is turned off. <br/> 
        You need to <a href="/settings">change your browser settings</a>.</b></font>
    </noscript>