gpt4 book ai didi

ruby-on-rails - 如何通过关系访问 has_many 的表单数据?

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:39 26 4
gpt4 key购买 nike

这个应用程序的要点是“Pros”有多个视频系列,由多个视频组成。

我的问题在于每个专业人士可能会出现在多个视频中,而每个系列可能会有多个专业人士。我已将其设置为“有很多直通”关系,其中专业人士和系列可能有许多“功能”,但每个功能都属于一个专业和系列(连接表)。

因此我这样声明我的模型:

class Pro < ApplicationRecord
has_many :features
has_many :series, through: :features
end

class Series < ApplicationRecord
has_many :features
has_many :pros, through: :features
has_many :videos
end

class Feature < ApplicationRecord
belongs_to :pro
belongs_to :series
end

专业人士以他们自己的形式正常创建,但是在创建系列时我想指定系列中的特色专业人士。

我尝试过的:

def new
@pro = Pro.new
end

def create
@pro = Pro.new(pro_params)

if @pro.save
redirect_to pros_path
else
render 'edit'
end
end

到目前为止还很正常......

但是,在:~\views\series_form.html.haml 内。我尝试从下拉框中选择该系列的专业版...

= form_for @series do |f|
%p
Title:
= f.text_field :title
= fields_for(@series, @series.pros) do |u|
%p= collection_select(:pro, :pro_id, @pros.all, :id, :name, prompt: :true)
%p= f.submit "Submit"
link_to "Back", root_path

Collection select 为我提供了一个下拉菜单来选择一个专业人士,我想使用此信息在我的数据库中为该专业人士创建一个“功能”,从而允许我将系列和专业人士链接在一起。

How can I access the data in this form so I can run @series.features.create(pro_id: @pro.id) or equivalent in the create method?

最佳答案

我可能完全错了,但我认为如果你运行类似 @series.pros.create(params) 的东西,你将拥有正确填充连接表所需的内容。

关于ruby-on-rails - 如何通过关系访问 has_many 的表单数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47999457/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com