Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.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 6中使用cocoon gem_Ruby On Rails_Ruby On Rails 6_Webpacker_Cocoon Gem - Fatal编程技术网

Ruby on rails 如何在Rails 6中使用cocoon gem

Ruby on rails 如何在Rails 6中使用cocoon gem,ruby-on-rails,ruby-on-rails-6,webpacker,cocoon-gem,Ruby On Rails,Ruby On Rails 6,Webpacker,Cocoon Gem,已经在rails 4和rails 5应用程序中对嵌套表单使用了cocoon gem。目前,我正在将一个rails 5.2应用程序(使用cocoon gem)更新为rails 6 由于rails 6正在使用webpacker,所以我厌倦了在application.js文件中使用cocoon javascript,就像我们以前在rails版本中所做的那样 app/javascript/application.js 但不幸的是,事情似乎不起作用。我们也尝试过导入,但当然,它也不起作用,因为cocoon

已经在rails 4和rails 5应用程序中对嵌套表单使用了
cocoon gem
。目前,我正在将一个rails 5.2应用程序(使用cocoon gem)更新为rails 6

由于rails 6正在使用webpacker,所以我厌倦了在
application.js
文件中使用cocoon javascript,就像我们以前在rails版本中所做的那样

app/javascript/application.js

但不幸的是,事情似乎不起作用。我们也尝试过导入,但当然,它也不起作用,因为cocoon不能作为javascript包提供


有什么解决方案或替代方案吗?

cocoon页面上有一个“黑客”来解决这个问题:


更新的解决方案:Cocoon软件包已经发布,因此您可以轻松地将其与wepacker一起使用

在您的文件中添加以下内容:

gem "cocoon"
添加组件包

yarn add @nathanvda/cocoon 
然后在
app/javascripts/packs/application.js中添加

require("jquery")
require("@nathanvda/cocoon")
旧解决方案:

cocoon GitHub存储库中有一个对我来说非常有用的东西

此分支中提供了Package.json,因此我们可以通过提供GitHub repo链接使用Thread或npm来安装包

纱线添加github:nathanvda/cocoon#c24ba53

Cocoon软件包将安装,您可以检查
package.json
文件

“cocoon”:“github:nathanvda/cocoon#c24ba53”

提交编号
#c24ba53
很重要,请确保它包含在您的
包.json
文件中

之后,您可以在
application.js
文件中导入cocoon.js

进口“茧”


第一步:运行

yarn add cocoon-js
Second:添加到
application.js

import 'cocoon-js'

像往常一样安装cocoon rubygem

yarn add cocoon-js-vanilla
//app/javascript/packs/application.js 在该文件的顶部执行以下操作:

import "cocoon-js-vanilla";

灵感来源:

链接到添加关联的
和其他助手方法如何?不起作用。获取错误,如“@faisalbhatti”的“未定义方法'link\'u to\'u add\'u association”,您也必须像平常一样安装gem。这只是我们导入javascript文件的部分,实际上我们应该调用appapplication.js“导入‘cocoon/app/assets/javascripts/cocoon’”
import "cocoon-js-vanilla";