simple_form输入多个字段

时间:2011-08-17 22:58:29

标签: ruby-on-rails forms view input simple-form

我不太确定正确的术语是什么,但我想要做的是在一个表单中(最好使用simple_form gem)有一个输入,:maximum,同时使用text字段和select框。用户可以在文本框中键入一个数字,然后从小时,天或月的下拉框中选择。所以21天,3个月,3个小时等等。当提交表单时,我会将其转换为几天并将其存储在数据库中。我知道如何在simple_form中更改输入类型,但是一个变量可以有两个输入吗?

1 个答案:

答案 0 :(得分:4)

当然:)这是我的想法:

首先,在用户模型中定义访问者:

attr_accessor :thing, :another_thing, :and_another_thing

然后在你的视图中,'inside'form_for helper,你可以编写例如:

<%= form.input :thing, :as => :boolean %>
<%= form.input :another_thing, :as => :text %>

......或者你想要的任何东西。 (注意:我在这里使用formtastic。如果你没有使用formtastic gem,你应该考虑使用Rails方法。)

最后,您在用户模型中定义了一个回调:

before_create :build_my_fancy_record

def build_my_fancy_record
  self.storage_field = "#{thing} #{another_thing}"
end