【问题标题】:options within nested form嵌套表单中的选项
【发布时间】:2011-03-20 16:16:06
【问题描述】:

尝试制作一个嵌套表单,到目前为止工作正常,除了我需要放置一些下拉列表供用户选择,以及可能进行一些验证,但似乎没有任何东西可以正确地脱离表单无论我尝试什么,都会不断出错。

三种型号。 --配置

  has_many :configoptions
  accepts_nested_attributes_for :configoptions

--配置选项

  belongs_to :configuration
  has_many :items

和项目

  belongs_to :configoption
  scope :sorted, order('items.position ASC')

现在,到目前为止,我正在创建一个嵌套表单,循环遍历配置选项,但每个选项都可能有多个项目。因此,我想为这种情况下的那些选项创建一个下拉列表。

在我看来,我有:

<p>
<th>Elements</th>
<th>Quantity</th>
</p>
<%= form_for @config, :url => {:action => 'show', :id => @config.id} do |f| %>
  <%= f.fields_for :configoptions do |fp| %>
    <p>
        <% if :items.count > 1 %>
        <%= fp.text_field :name %>  
        <% else %>
        <% fp.select(:items, :name)%>
        <% end %>
    <%= fp.text_field :quantity %>
    </p>
  <% end %>    
  <%= f.submit %>
<% end %>

我收到一个错误,显然告诉我它无法计算 :items。

你认为我怎样才能完成这项工作?

谢谢!

{:action => 'show', :id => @config.id} 做 |f| %>


【问题讨论】:

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


    【解决方案1】:

    好吧,我想我明白了,至少它现在似乎在做我想做的事。

    我修改了视图以将 configoption 的实例传递给嵌套表单本身,以便能够创建下拉菜单。

      <% for configoption in @config.configoptions %>    
      <%= f.fields_for :configoptions, configoption do |fp| %>
        <p>
            <% if configoption.items.count > 1 %>
            <%= fp.select (:name, options_from_collection_for_select(configoption.items.sorted, 'name', 'name'))%>  
            <% else %>
    

    【讨论】:

      猜你喜欢
      • 2015-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      • 2013-03-27
      相关资源
      最近更新 更多