Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails 5中,创建多对多关联,同时保存关系的任意一侧_Ruby On Rails_Ruby_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails 在Rails 5中,创建多对多关联,同时保存关系的任意一侧

Ruby on rails 在Rails 5中,创建多对多关联,同时保存关系的任意一侧,ruby-on-rails,ruby,ruby-on-rails-5,Ruby On Rails,Ruby,Ruby On Rails 5,标题可能不是很清楚(对不起,我试过了) 场景 我有一个多对多关系,计算机和软件,因此有一个连接模型计算机软件。我想有能力连接一台计算机与许多软件从目前可用的软件列表,而我正在创建一台新的计算机。下面是一些代码来解释: 计算机类

标题可能不是很清楚(对不起,我试过了)

场景

我有一个多对多关系,
计算机
软件
,因此有一个连接模型
计算机软件
。我想有能力连接一台计算机与许多软件从目前可用的软件列表,而我正在创建一台新的计算机。下面是一些代码来解释:

计算机类
我的控制器如下所示:

类计算机控制器#params.require(:computer).permit(:softwares)您需要允许那些嵌套在
计算机参数中的属性:

def computer_params
  params.require(:computer).permit(:name, software: [:something, :something_else])
end

您希望为嵌套软件模型允许的任何字段都需要进入该
软件

您需要在
计算机参数
中允许这些嵌套属性:

def computer_params
  params.require(:computer).permit(:name, software: [:something, :something_else])
end

无论您希望为嵌套软件模型允许哪些字段,都需要进入
软件

中,因为您有一个
未经许可的参数
错误(根据控制器代码中的注释),如果您将参数显示为已提交给控制器,可能会有所帮助。@jvillian现在在编辑1中完成。我希望这会有帮助。如果我不清楚,很抱歉。我的意思是,如果您显示从服务器日志提交给控制器的参数(您看到的是
unpermitted\u params
消息),可能会有所帮助。顺便说一句,
required\u params
是什么?对不起,我一直在切碎和更改它,我忘了我已经将
params.require(:computer)
抽象为一个单独的方法。现在更新了。我很确定您仍然没有显示提交给控制器的
参数。它应该是
启动…
由…
处理之后服务器日志中的第三行,因为您有一个
未经许可的参数
错误(根据控制器代码中的注释),如果您显示提交给控制器的参数,可能会有所帮助。@jvillian现在在编辑1中完成。我希望这会有帮助。如果我不清楚,很抱歉。我的意思是,如果您显示从服务器日志提交给控制器的参数(您看到的是
unpermitted\u params
消息),可能会有所帮助。顺便说一句,
required\u params
是什么?对不起,我一直在切碎和更改它,我忘了我已经将
params.require(:computer)
抽象为一个单独的方法。现在更新了。我很确定您仍然没有显示提交给控制器的
参数。它应该是服务器日志中
启动…
处理之后的第三行…