【问题标题】:rails update multiple records in single model and single formrails 以单一模型和单一形式更新多条记录
【发布时间】:2016-08-08 07:47:14
【问题描述】:

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

使用单个 form_submit 更新单个模型中的多个记录

路线

  get 'welcome/index'
  get 'welcome/new'
  post 'welcome/create'
  root 'welcome#index'
欢迎控制器
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
欢迎索引视图
<%= 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 %>
谢谢

【问题讨论】:

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


    【解决方案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
    

    【讨论】:

    • 谢谢:)。实际上我想用单个提交更新单个模型中的多个记录..
    • 我回答了提出的问题。这是一个不同的问题,您应该从一个新线程开始。您应该接受我的回答,因为它回答了您的问题并提供了可行的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    相关资源
    最近更新 更多