rails更新单个模型和单个表单中的多个记录

时间:2016-04-16 09:20:10

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

我是rails的新手,我有模型(欢迎),我想用单个表单更新模型,其中表单有重复的字段。 只有第二个字段更新模型..

  

使用单个form_submit

更新单个模型中的多个记录

路由

  get 'welcome/index'
  get 'welcome/new'
  post 'welcome/create'
  root 'welcome#index'
welcomecontroller
class WelcomeController < ApplicationController
  def index
  end
  def new
    @article = Welcome.new
  end
  def create
    @article = Welcome.new(user_params)
    if @article.save
      redirect_to welcome_new_path
    else
      render 'new'
    end
  end
  
  private
  
  def user_params
    params.require(:welcome).permit(:name , :descrip  )
  end
end
welcomeindex视图
<%= form_for@ article, url: welcome_create_path do |f | %>
  <%= f.text_field: name %>
  <%= f.text_field: descrip %>
  <%= f.text_field: name %>
  <%= f.text_field: descrip %>
  <%= f.submit "Create" %>
<% end %>
感谢

1 个答案:

答案 0 :(得分:1)

由于您的字段名称重复,因此只更新了第二组字段。给每个字段一个唯一的名称,它应该可以工作。

<%= form_for@ article, url: welcome_create_path do |f | %>
  <%= f.text_field: name1 %>
  <%= f.text_field: descrip1 %>
  <%= f.text_field: name2 %>
  <%= f.text_field: descrip2 %>
  <%= f.submit "Create" %>
<% end %>

您需要相应地更新控制器方法user_params

def user_params
  params.require(:welcome).permit(:name1 , :descrip1, :name2 , :descrip2 )
end