Я хотел знать, как отправить значения из контроллера чата в другие таблицы с помощью rails.
class Chat < ApplicationRecord
belongs_to :user
has_many :visitors
has_many :themes
class Colour < ApplicationRecord
has_many :themes
has_many :chatbots, through: :themes
has_many :user_avatars, through: :themes
validates :hash_code, presence: true
class UserAvatar < ApplicationRecord
belongs_to :user
has_many :themes
has_many :chatbots, through: :themes
has_many :colours, through: :themes
validates :image_icon,:presence => true
class Theme < ApplicationRecord
belongs_to :chatbot
belongs_to :user_avatar
belongs_to :colour
validates :position, presence: true
Здесь, в чате, я должен иметь возможность выбрать цвет, положение, аватар пользователя, и он должен быть сохранен в этой таблице, но здесь я не знаю, как отправить значения из контроллера чата в другие таблицы (для выбора цвета, который я использую цвет-подборщика)
код для chat_controller указан ниже
class ChatsController < ApplicationController
layout 'dashboard'
before_action :authenticate_user!
def index
@chatbot = Chatbot.all.where(:user_id => current_user.id)
end
def new
@chatbot = Chatbot.new
end
def show
@chatbot = Chatbot.find_by_id(params[:id])
end
def edit
@chatbot = Chatbot.find_by_id(params[:id])
end
def destroy
@chatbot = Chatbot.find_by_id(params[:id])
if @chatbot.destroy
flash[:success] = "Successfully deleted!"
else
flash[:success] = "Deletion Failed!"
end
end
def create
@colour = Colour.new(colour_params)
if @colour.save
redirect_to chatbots_path
end
end
private
def colour_params
params.require(:colour).permit(:hash_code)
end
def chatbot_params
params.require(:chatbot).permit(:id,:name,:description,:embed_id)
end
end
show.html.erb
<%= form_for @chatbot, :url => {:controller => 'chatbots', :action =>
"create" }, html: { method: :post } do |f| %>
<%= f.label "Select Theme Color" %>
<%= f.hidden_field :colour_ids %>
<%= f.text_field :colour, class: "color-picker", id: "theme-picker" %>
<%= f.submit "Save" , class: "btn btn-primary"%>
<% end %>
# code for position-select
# code for user avatar