【问题标题】:Rails web application control panel with ajax tabs and validation带有 ajax 选项卡和验证的 Rails Web 应用程序控制面板
【发布时间】:2009-04-21 15:08:20
【问题描述】:

我正在寻找一个带有管理控制面板的 Rails Web 应用程序。我希望控制面板使用选项卡式界面来控制用户、项目、任务等,并且我想使用带有 ajax 的 jquery 选项卡 UI 控件在选项卡之间切换。还对用户使用 restful 身份验证,对项目、任务等使用我自己的代码。

这是我无法理解的。通常,我会为每个选项卡设置一个控制器,因此验证很简单,如果出现错误(比如在用户中),我只需使用对象呈现正确的操作并且它是错误的并且我们已经设置好了。但是,如果我不刷新(标签之间的不同控制器),这是如何工作的?我是否需要拥有一个包含所有用户、项目、任务验证和控制(即 crud 操作)的大型控制器?似乎不是最伟大的设计。

或者有什么方法可以使用包含单独控制器的“管理员”控制器,以进行正确的 crud/错误检查等。

希望这有意义吗?

【问题讨论】:

    标签: ruby-on-rails controlpanel


    【解决方案1】:

    我会通过单独的 ajax 请求调用每个选项卡的内容。这将为您带来以下好处

    • 现在每个选项卡都可以轻松成为不同的视图/控制器
    • 只需要在使用时加载标签的内容即可;您不会为用户不使用的标签处理代码/下载 html。

    如果您不想使用此路由(即,您觉得需要在单个请求中加载页面下载的所有选项卡内容),那么您可以使用辅助方法和部分代码分离出代码。在这里查看我的答案:Rails Sub-controllers?

    【讨论】:

    • 所以让这个复杂化吧。我的实际程序使用模态 div 弹出窗口来添加新用户。假设我有一个管理/索引操作。然后我从不同的控制器操作(用户/索引、项目/索引等)加载带有 ajax 的每个选项卡。“添加用户”链接会打开一个模式 div 以添加新用户 (/users/new)。如果保存新用户时出错,我想在控制器中使用有错误的用户对象渲染 :action => 'new',但是,我在用户控制器中。
    • 所以我想要 admin/index#users 部分,该模式 div 弹出窗口显示用户和错误。但是,从用户控制器,我无法在管理控制器上呈现操作。这有意义吗?我不知道如何回到创建用户的状态,出现必要的错误
    • 为了澄清这一点,我真的不想离开管理控制器,我只想将其部分的所有 crud 操作委托给他们自己的控制器,但我从来没有想直接显示控制器,我只想让我的管理员控制器完成所有这些。我无法弄清楚如何在没有实际离开管理控制器的情况下进行验证
    【解决方案2】:

    我个人会在表单中使用内联验证。 Jquery 做得很漂亮 well ,但是有很多库可以帮助你。

    我猜这不是您想要的,但它会让您的工作更轻松。当然仍然在模型中保留验证,这样没有人可以绕过验证(使用 firebug 或类似的东西)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-12
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多