Ruby on rails 在Rails中命名React组件文件时,前导下划线有什么区别?

Ruby on rails 在Rails中命名React组件文件时,前导下划线有什么区别?,ruby-on-rails,reactjs,react-rails,Ruby On Rails,Reactjs,React Rails,我刚刚开始学习Rails中的React 当我遇到别人的Rails应用程序带有React,我发现其中一些应用程序在*.js.*文件的/app/assets/javascripts/components/ e、 g 组件文件如下所示: _comment.js.jsx record.js.coffee 虽然有些人没有, e、 g 组件文件如下所示: _comment.js.jsx record.js.coffee 那么,添加前导下划线有什么区别呢 我知道在Rails视图中,用前导下划线命名*.

我刚刚开始学习
Rails
中的
React

当我遇到别人的
Rails
应用程序带有
React
,我发现其中一些应用程序在
*.js.*
文件的
/app/assets/javascripts/components/

e、 g

组件文件如下所示:

_comment.js.jsx
record.js.coffee
虽然有些人没有, e、 g

组件文件如下所示:

_comment.js.jsx
record.js.coffee
那么,添加前导下划线有什么区别呢


我知道在
Rails
视图中,用前导下划线命名
*.html.erb
文件意味着它是一个可以重用的部分,我们称之为
render
方法来渲染它。但是这里的
*.js.
文件是
components.js
/=require\u tree./components
所需要的。因此,即使删除下划线,也没有什么区别。我相信这是唯一“重用”组件的部分。

因为在
application.js
中有
/=require\u tree./components
。我认为用下划线来命名它们真的没有什么区别

然后我认为可能与Rails资产管道有关,因为实际上
组件
文件在示例react Rails应用程序中是重复需要的。下划线可能是为了避免预冷时重复

我已尝试删除这些文件中的前导下划线,并在本地运行该应用程序(同时在dev env中进行资产管道预编译)。事实证明,即使删除了前导下划线,这些文件的预编译仍然不会重复,应用程序也可以正常运行。事实上,资产管道只会包含同一个文件一次,即使您需要重复使用该文件


总之,主下划线对应用程序的工作方式没有任何影响。这可能是在部分命名之后的一种命名约定,就像在Rails视图SASS编译中提到的那样。一般来说,我认为应该遵循这个惯例,告诉你自己和你的团队这些文件是不完整的。

欢迎来到StackOverflow!请阅读Hi@Lahiru,我的问题与我遇到的具体问题无关吗?对不起,如果我的评论似乎是冒犯性的。我的意思只是试着用提供的标记做一些格式化,以便其他人更好地理解:)@Lahiru没关系,我只是想找出正确的方法。非常感谢您为我写下“建议编辑”。@limelights谢谢!我还在rails视图中使用partials,并调用“render”方法来渲染partials。但是,如果它们都是*.js.jsx文件,则很可能无法在这些文件中调用任何rails方法。您能否提供一个在中重用代码的示例?