【问题标题】:Hidden Field in Simple Nested Form Not Being Submitted未提交简单嵌套形式的隐藏字段
【发布时间】:2011-09-22 22:58:47
【问题描述】:

环境:Rails 3.1.0、Ruby 1.9.2

我有投资组合模型,其中有_many 头寸,其中有_one 资产。

这是 Position 模型的架构:

create_table "positions", :force => true do |t|
    t.integer  "portfolio_id"
    t.integer  "asset_id"
    t.decimal  "holding_percentage"
end

当用户创建投资组合时,他/她应输入投资组合名称,然后通过添加股票代码来添加头寸。 Jquery 完成它的工作并显示资产的全名,并将asset_id 插入隐藏字段。

我同时使用nested_form 和simple_form 如下:

<%= simple_nested_form_for @portfolio  do |f| %>

    <%= f.input :name, :placeholder => 'Your portfolio name' %>  

    <%= f.fields_for :positions do |position_form| %>

        <%= text_field_tag 'asset-ticker', nil, :class => 'asset-ticker' %>         
        <span class="asset-name"></span>
        <%= position_form.text_field :holding_percentage, :class => 'asset-perc' %>
        <%= position_form.hidden_field :asset_id, :class => 'asset-num', :as => :hidden %>

        <%= position_form.link_to_remove "Remove this position", :class => 'asset-rem-link' %>
    <% end %>

    <p><%= f.link_to_add "Add a Position", :positions, :class => 'asset-add-link' %></p>  

    <%= f.button :submit %>

<% end %>

问题是隐藏字段中的asset_id值没有被提交。参数如下:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"hmvoGHF9GzpPsohQQ2MwhWk4FzhVVrf+IqoChHgftEs=",  
    "portfolio"=>{"name"=>"needhelpnow", 
                  "positions_attributes"=>
    {"new_1316730954406"=>{"holding_percentage"=>"11", "asset_id"=>"", "_destroy"=>"false"}, 
     "new_1316730961085"=>{"holding_percentage"=>"22", "asset_id"=>"", "_destroy"=>"false"}, 
     "new_1316730971587"=>{"holding_percentage"=>"33", "asset_id"=>"", "_destroy"=>"false"}}}, 
     "commit"=>"Create Portfolio"}

【问题讨论】:

    标签: ruby-on-rails-3 forms nested-forms simple-form nested-form-for


    【解决方案1】:

    原来问题是我在隐藏字段的值中写了:

    ('.asset-num').html(data.id)
    

    代替:

    ('.asset-num').val(data.id)
    

    【讨论】:

      猜你喜欢
      • 2023-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多