我有這個問題。我需要在Rails中以相同的形式驗證兩個模型的屬性。一個是另一個的父母。Rails中嵌套模型的表單驗證
的形式是這樣的:
<%= semantic_form_for @professional do |pro| %>
<%= pro.inputs :id => "information" do %>
<%= pro.input :name, label: t("Artistic Name") %>
<%= pro.semantic_fields_for @user do |user| %>
<%= user.inputs :id => "register" do %>
<%= user.input :email, :placeholder=>"[email protected]" %>
<%= user.input :password, label: t('Password') %>
<%end%>
<% end %>
<% end %>
<% end %>
我使用的模型是這樣的:
用戶:
class User < ActiveRecord::Base
belongs_to :role, polymorphic: true
validates :email, :password, presence: true
end
專業人員:
class Professional < ActiveRecord::Base
has_one :user, as: :role, dependent: :destroy
accepts_nested_attributes_for :user
validates :date_birthday, :gender, :height, :name, :description, :Weight, :address, :languages,:services, :category, :phonenumber, :fullname, :hair_color, :age, :orientation, presence: true
end
所以,問題是什麼?
當我點擊提交按鈕時,專業屬性被標記,但不是用戶屬性。
像這樣:
的字段標爲紅色屬於專業模特,但場電子郵件地址和密碼屬於用戶模型,紅色都沒有標明時,它應該是因爲他們是空。
我該怎麼辦?我需要用戶的警告信息是屬性太
謝謝你的進步。
你有關聯設置是否正確? –
@RichPeck我編輯了兩個模型之間的關聯模型代碼 –