我想让用户能够对包含分页的表格中显示的许多所选项目(带复选框)进行常规操作。
我想知道当用户通过分页链接导航到其他桌面页面时,我将如何跟踪上一个表格页面的选定项目。
我使用kaminari进行分页。
有什么想法吗?
答案 0 :(得分:0)
如果您使用任何表格,那么您可以使用多步骤表格。你可以从
中得到这个想法http://railscasts.com/episodes/217-multistep-forms
但是请确保您需要在此方法中将表单对象存储在会话中,因此如果您在表单中说出500个字段,则会更改cookie over flow。请查看您的申请,然后再决定。
答案 1 :(得分:0)
您可以使用的方法是隐藏字段或只是一个javascript变量,只要用户选择/取消选择表中的项目,您就会使用某些javascript进行更新。
如果您的页面导航链接使用AJAX仅更新您的表格和导航链接,您的页面仍将包含所选项目的隐藏字段或变量。在桌面更新中,您还必须根据隐藏字段或变量中选择的内容在表项目上设置选定状态。
是的,它不漂亮。
您可能想要考虑一些用于SPA(单页应用程序)的客户端MV *框架,因为事情可以并且确实很快就会被ad-hoc javascript弄得一团糟。
我指的MV *框架是Backbone,Ember,Angular,Knockout,Batman等。您的应用程序基本上成为一个缩小的javascript资产,一个缩小的样式表,加上图像和客户端/服务器只是AJAX / JSON API。这些框架为您的客户端代码提供了结构,并支持将视图绑定到对象状态并与服务器同步。
正是客户端架构和原生移动应用程序的这种转变已经看到像Sinatra这样的更简约的服务器端框架越来越受欢迎,因为像Rails这样的框架(是的,我的意思是Rails 4.0)不再提供“轨道”或约定开发现代网络和移动应用程序。
结帐TodoMVC以获取MV *客户端框架的比较,并选择一个符合您的风格和要求的框架。经过仔细研究所有主要的选择之后,我的务实(和固执己见)选择是Backbone.js + Backbone.Marionette + Coffeescript,因为你根本就没有画到角落里。对他人没有任何不尊重。
我对MV *框架的建议是: