Sinatra的好forms助手?

我开始做表格,正在寻找Sinatra的表格助手。

  • Sinatra似乎没有内置的表单助手。
  • Padrino中的助手看起来像我正在追求的但我不觉得将我的应用程序移植到另一个框架。 此外,它开始看起来像Rails应用程序。
  • 我还没有找到任何Sinatra表格助手,这是“事实上的”选择。

理想情况下,我只需要一组不错的表单助手,我可以将其作为一个gem包含在内,并开始使用,代替手动滚动所有基本级别的erb / haml / ruby​​表单构建。

你有什么建议?

我发现sinatra-formhelpers很有用,并在一些项目中使用它。 看看他们的Github页面 ,代码非常简单,可能就是你想要的。 即使没有,您也可以轻松添加自己的专业助手。 你可以简单地安装它

 gem install sinatra-formhelpers 

并通过要求gem使用它:

 require 'sinatra/form_helpers' 

或者,如果您inheritanceSinatra::Base ,则另外包括帮助程序:

 class MyApp < Sinatra::Base helpers Sinatra::FormHelpers # ... end 

毕竟,Sinatra的部分理念是尽可能轻松。 因此,如果您想要内置所有精美的东西,Sinatra可能就不是正确的工具。

我建议使用sinatra-formhelpers-ng因为它修复了sinatra-formhelpers一个错误。

我也发现sinatra-formhelpers很有用,但似乎没有维护,我遇到了一个bug:SELECT标签的状态不会在表单提交中持久存在。 换句话说,如果我创建一个包含一堆字段和两个下拉列表(SELECT标记)的表单,如果我想要在POST中重新呈现表单,由于除了SELECT标记之外的validation失败,所有字段都会保留。 我解决了这个问题并把它推到原来的sinatra-formhelpers repo。 推动被接受,但gem没有更新。 我等了几个星期,然后把它sinatra-formhelpers-ngsinatra-formhelpers-ng