我在rails中使用simple_form,并且我希望标签是来自另一个字段的值。在这种情况下,该字段不会被更改,因此我不想在表单上。
为了更好地解释,我有两行看起来像
<%= f.input :name, :label => false, :disabled => true, :input_html => { :class => 'input-small' } %>
<%= f.input :status, :collection => ["Not started", "Passed", "Failed"], :include_blank => false, :label => false %>
我想做的是将第一个元素作为第二个元素的标签。现在我可以让它们内联,但我希望它们与其他元素对齐,以便标签和输入排成一行。
这样做
<%= f.input :status, :collection => ["Not started", "Passed", "Failed"], :include_blank => false, :label => f.name %>
或
<%= f.input :status, :collection => ["Not started", "Passed", "Failed"], :include_blank => false, :label => {f.input :name, :label => false, :disabled => true} %>
有关如何解决这个问题的想法吗?
迈克尔
答案 0 :(得分:1)
&#39; f.object&#39;获取与该表单关联的对象,然后您可以到达字段:
<%= f.select(:status, [["Not started","Not started"], ["Passed", "Passed"], ["Failed", "Failed"]]), :label => f.object.name %>
答案 1 :(得分:0)
最后我确实选择了内联选项,这不是理想的选择。但是我必须做以下事情。
主窗体设置为规范形式 下面的块设置为form-horizontal
然后将子表单部分定义为none simple_form
<div class="control-group form-inline">
<div class="controls">
<%= f.text_field :name, :disabled => 'true', :size => 10 %>
<%= f.select(:status, [["Not started","Not started"], ["Passed", "Passed"], ["Failed", "Failed"]]) %>
</div>
</div>
如果将其设置为simpleform,则内联将无法按要求运行。再次不完美,当然不优雅,但工作