在我关于 has_one 关联的表单上,这些字段不会以单数形式出现。
<%= f.fields_for :pack_social_media_sur_mesure, @commande.pack_social_media_sur_mesure do |ff| %>
仍然是空的
我想我错过了什么……
我的模型:
指挥模型:
class Commande < ApplicationRecord
belongs_to :user
validates_presence_of :user
has_one :pack_social_media_sur_mesure, dependent: :destroy
accepts_nested_attributes_for :pack_social_media_sur_mesure, allow_destroy: true
end
PackSocialMediaSurMesure 模型:
class PackSocialMediaSurMesure < ApplicationRecord
belongs_to :commande
...
end
我的控制器:
class CommandeStepsController < ApplicationController
...
def update
@user_id = current_user.id
@user = current_user
@commande = @user.commande
@commande.update(commande_params)
end
...
def commande_params
params.require(:commande).permit(:id,..., pack_social_media_sur_mesure_attributes: [:id, ...])
end
end
我的表格:
<%= form_for @commande, url: wizard_path, html: { class: "pack-slide" }, method: :put do |f| %>
<%= f.fields_for :pack_social_media_sur_mesure, @commande.pack_social_media_sur_mesure do |ff| %>
<%= ff.select :question1 %>
...
<% end %>
<%= f.submit %>
<% end %>
PS:我在这个表格中使用了 wicked gem,这就是为什么wizard_path
。
谢谢,泰奥