如果单击按钮,如何从用于Rails项目的一个控制器的两个表中插入数据?

时间:2018-11-17 18:24:48

标签: ruby-on-rails ruby web backend

如果单击按钮,我想将数据插入两个表中。请帮助我。

counter_no.rb

me/accounts?fields=id,name

queuelist.rb

class CounterNo < ApplicationRecord
  belongs_to :queuelist, inverse_of: :counter_no
end

queuelist_controller.rb

class queuelist < ApplicationRecord
  acts_as_sequenced start_at: 000001

  #belongs_to :member
  belongs_to :user
  has_many :counter_nos, inverse_of: :queuelist
end

queuelists> new.html.erb

def make_queue

    @queue = Queuelist.new.tap do |q|
      q.dated = Time.now
      q.member_id = current_member.id
      q.user = User.find(params[:id])
      q.build_counter_no(user_id: 1)
    end
    @queue.save  
    # respond_with(@queue)
    redirect_to shops_url
  end

def queue_params
      params.require(:queuelist).permit( :id, :queuerule_id, :queue_number, :queue_status, 
        :dated, :phone_number, :ref_number, :sequential_id, 
        counter_no_attributes: [:id, :counter_no, :counter_dated, :startqueuetime, :closequeuetime, 
        :queuelist_id, :user_id, :member_id, :_destroy] )
    end

1 个答案:

答案 0 :(得分:0)

似乎您想向创建的QueueList添加计数器。我猜您正在使用fields_for形式,接受params中的属性,并且模型中有accepts_nested_attributes_for,那么您只需要执行以下操作即可:

Queuelist.new(queue_params).tap ...