使用单个表单将多行提交到数据库中

时间:2013-09-16 22:31:01

标签: ruby-on-rails forms

我创建了一个rails应用程序,用户可以选择不同蔬菜之间的偏好。数据库格式如下:

  • Prefid(key)
  • 用户ID
  • veg1
  • veg2
  • 偏好

表格遵循格式 -

<%= form_for :pick do |f| %>
<%= f.collection_select( :id, Players.all, :id, :name) %>
<%= f.radio_button(pref.id, veg.veg1) %>
<%= f.radio_button(pref.id, veg.veg2) %> 
<%= f.submit %>
<% end %>

现在,当提交表单时,我将此作为我的创建方法 -

def create
    @prefs = Prefs.new()
    @prefs[:player_id] = post_params[:id]
    post_params.delete(:id)
    post_params.each do |key, value|
        @prefs.games_id = key
        @prefs.pick = value 
        @prefs.save
    end

    redirect_to @picks
end

此方法不起作用。它只将第一个选择提交到数据库中。我已经阅读了几种不同的方法来实现这一点,但它们都没有真正遵循与我的应用程序相同的格式。

0 个答案:

没有答案