Решение для вложенной формы - PullRequest
0 голосов
/ 02 апреля 2019

Я застрял на этой проблеме некоторое время.

Нужно сделать форму для соревнований категории с пользовательскими входами.Он должен взять все значения из таблицы Информация и построить входные данные, но сложная часть заключается в том, что он должен быть сохранен в таблице Категория_информаций .

class Competition < ApplicationRecord
  has_many :categories
  has_many :informations
end

class Category < ApplicationRecord
  belongs_to :competetion
  has_many :category_informations
  has_many :information, through: competition
end

class CategoryInformation
  belongs_to :catagory
  belongs_to :information
end

class Information < ApplicationRecord
  belongs_to :competetion
  has_many :category_informations
end

Конкурс -> имя

Категория -> имя, идентификатор_ соревнования

Информация -> имя, идентификатор_ соревнования

Информация о категории -> значение, идентификатор_значения категории, идентификатор_идентификатора

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Посмотрите на этот камень: https://github.com/plataformatec/simple_form

Простая форма стремится быть максимально гибкой, помогая создавать мощные компоненты для создания форм.

Давайте рассмотрим простой пример:

class Machine < ActiveRecord::Base
has_many :parts , inverse_of: :machine
accepts_nested_attributes_for :parts
end

class Part < ActiveRecord::Base
# name:string
belongs_to :machine
end

С этими моделями мы можем использовать simple_form для обновления машины и связанных с ней деталей в единой форме:

<%= simple_form_for @machine do |m| %>
  <%= m.simple_fields_for :parts do |p| %>
  <%= p.input :name %>
  <% end %>
<% end %>

Для «нового» действия создайте вложенную модель из контроллера:

class MachinesController < ApplicationController
  def new
  @machine = Machine.new
  @machine.parts.build
 end
end

Источник: https://github.com/plataformatec/simple_form/wiki/Nested-Models

0 голосов
/ 02 апреля 2019

Звучит так, будто ты ищешь accepts_nested_attributes_for

См: https://apidock.com/rails/v3.2.3/ActiveRecord/NestedAttributes/ClassMethods/accepts_nested_attributes_for

https://rubyplus.com/articles/3681-Complex-Forms-in-Rails-5

Кроме того, посмотрите кокон драгоценный камень.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...