【问题标题】:What could be causing nested_form not to output the correct chosen input value?什么可能导致nested_form 不输出正确选择的输入值?
【发布时间】:2015-04-18 00:18:49
【问题描述】:

所以我在 Rails 3.2.11 中使用nested_form(根据 Gemfile.lock 的 v0.3.2)。我有一个带有类别字段的服务模型,最初可以采用多个值,这些值可以通过选择下拉菜单输入。

类别类似于:[“J 奖”、“Z 奖”、“其他”]

当我用 J 奖(或 Z 奖)的值保存表单字段并重新呈现可编辑的表单时,表单将重新显示,类别的值为“其他”。然而,如果我踏入 Rails 控制台并查看已保存服务模型的类别字段,它会显示“J 奖”。

这可能是什么原因造成的?既然nested_form不再维护,我应该放弃并以不同的方式处理单个表单中的多个模型吗?

重新渲染表单的haml输出

= semantic_nested_form_for @service, :url => "/update", :html => { :class => "service", :autocomplete => "off" } do |f|
  %h1.page-title Service
  .page-wrapper
    = render :partial => "shared/error_messages", :locals => { :object => @service }

重新渲染表单的html输出:

<li class="string input required stringish" id="service_category_input"><label class=" label" for="service_category">Category<abbr title="required">*</abbr></label><input id="service_category" maxlength="255" name="service[category]" type="text" value="J Award" />

        </li>

    = f.inputs do
      %h3 Project Information
      = f.input :billable, :as => :radio, :collection => { 'Billable' => true, 'Non-billable' => false }, :label => 'Category', :input_html => { :disabled => true }
      = f.input :category
      = f.input :assigned_consultant, :input_html => { :readonly => true }
      = f.input :aims, :input_html => { :readonly => true }

【问题讨论】:

    标签: ruby-on-rails forms nested-forms


    【解决方案1】:

    在您的html.erb 文件中,我会将f.input 更改为f.select

    <%= f.select :category, ["J Award", "Z Award", "Other"], {selected: f.object.category} %>
    

    selected 属性是不言自明的。我以前从未使用过.haml 文件,所以我想您必须以某种方式对其进行转换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 2013-03-13
      • 2015-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多