Joe*_*erg 9 form-helpers ruby-on-rails-3 simple-form
我正在使用SimpleForm来构建我的表单.
我说的是以下型号:
class ScheduledContent < ActiveRecord::Base
belongs_to :parent
attr_accessible :lots, :of, :other, :fields
serialize :schedule, Array
end
Run Code Online (Sandbox Code Playgroud)
我想构建一个表单,其中包含许多其他字段和关联(此模型实际上已经是has_many关联的一部分 - 所以非常复杂的形式)用户被呈现可变天数(例如第1天,第2天,第3天等) - 每天都可以选中或取消选中.因此,如果用户检查第1天,第5天说 - 我想在计划字段中存储[1,5].在表单之前 - 我可以构建一个可供选择的简单数组,包括显然已经选择的日期.
使用SimpleForm的表单助手表示此表单的最佳方法是什么?如果不可能这样做 - 我也可以使用Rails的表单助手来使其工作,但我的偏好是SimpleForm,因为表单的其余部分已经使用SimpleForm构建.
Vas*_*ich 23
是的,你可以用SimpleForm来做.这是一个例子:
<%= simple_form_for(@user) do |f| %>
<%= f.input :schedule, as: :check_boxes, collection: [['Day 1', 1], ['Day 2', 2]] %>
<%= f.button :submit %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
回答一个老问题,但我最近不得不做类似的事情。为了标记已经选择的复选框选项,我使用了:checked类似的方法:
<%=
form.input :schedule, {
as: :check_boxes,
collection: Days.my_scope.map { |day| [day.name, day.id] },
wrapper: :vertical_radio_and_checkboxes,
checked: form.object.schedule
}
%>
Run Code Online (Sandbox Code Playgroud)