私は2つのモデルUserとCompanyを持っています。私はユーザモデルの作成にデバイスの宝石を使用しました。私は、ユーザーを作成するとRails 5は、まだ作成されていない場合のみ、子作成時に親レコードを生成します。
class User < ApplicationRecord
belongs_to :company
accepts_nested_attribute_for :company
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable, :lockable
end
class Company < ApplicationRecord
has_many :users
end
は、私は彼らと彼らが働いている会社を関連付けたい。私は、ユーザー作成フォームでCOMPANY_NAME属性が含まれています。私が望まないのは、同じcompany_name属性に対して複数のレコードを持つことです。
<% form_for(@user) do |user_form| %>
<% user_form.fields_for :company do |company_form| %>
<%= company_form.label :company_name %>
<%= company_form.text_field :company_name %>
<% end %>
# other fields for user
<% end %>
ユーザーが関連付けられているかどうか、会社のテーブルに既に存在するかどうかを確認したいと思います。まだ存在していない場合にのみ、会社の新しいレコードを作成します。
おかげで、それが働いていた...それがお役に立てば幸い –