0
我有一個form_for用於創建新記錄。我設置了getter和setter方法來訪問我的視圖中的表單字段。下面是我的getter ANS setter方法與我的表單視圖,分別getter沒有獲得驗證軌上新記錄的值4
消氣& setter方法:
def manufacturer_model_name
self.manufacturer_models.pluck(:name).join(', ') unless self.manufacturer_models.blank?
end
def manufacturer_model_name=(names)
names = names.split(',').map{|n| n.strip}.delete_if(&:empty?) if names.present?
names.uniq.each do |name|
id = ManufacturerModel.where(:name => name, :manufacturer_id => manufacturer.id).first_or_create.id
if self.new_record?
self.user_skill_manufacturer_models.build(:user_skill_id => self.id, :manufacturer_model_id => id)
else
self.user_skill_manufacturer_models.where(:user_skill_id => self.id, :manufacturer_model_id => id).first_or_create.id
end
end if names.present?
end
表單視圖:
= f.text_field :manufacturer_model_name, :class => 'form-control
我的問題是,我的輸入字段是自動完成與多個設置爲true,以獲得多個值。當用戶輸入多個逗號分隔值並提交表單時,如果表單中有任何錯誤,我的新行爲將被呈現,並且用戶會丟失所有輸入的值,從而迫使他重新輸入所有值。我怎麼解決這個問題?