如何在rails中正确实现表单?

时间:2012-08-09 20:36:41

标签: ruby-on-rails dry rails-models

我正在使用rails开发我的第一个Web应用程序,并且我在思考这是实现功能的好方法还是坏方法。

此Web应用程序具有User和Guild类。 目标是用户通过单选按钮回答一组问题,以便与某个公会相匹配。

因为公会有一个大陆位置,每个大陆都有国家,我有大约60个选项,每个选项都有一个名称和一个ID,还有其他更短的单选按钮问题,只有3个选项。总共有大约7组问题,所有问题都在视图文件中被“硬编码”。

我主要担心的是:在Guild类中为每组问题设置一个字段,是否更好的做法是在数据库中对表单的答案进行建模?

我正在考虑注册该选项并将其查询到数据库并返回匹配的公会。但后来我想到了公会的注册过程以及我如何重复相同的选项让他们匹配模型。

另外,因为表单是webapp中访问量最大的元素,如果应用程序检索到每个选项而不是硬编码,这不会影响性能吗?

1 个答案:

答案 0 :(得分:0)

我建议使用名为simple_form的gem。它使建筑形式变得非常简单。

是的,您应该将其建模并使用表单构建器来帮助您。

你会做这样的事情

simple_form_for(@user) do |form|
  form.input :some_attribute
  form.collection_radio :guild_country, [collection of countries]
end

顶部会有这样的事情。

这是simple_form参考 https://github.com/plataformatec/simple_form/

如果您需要所有国家/地区使用名为Carmen的宝石 https://github.com/jim/carmen