我找不到字符串定义的位置 - 找到源代码的任何技巧?

时间:2013-12-24 01:25:00

标签: ruby-on-rails ruby

我正在使用:

  • Rails 3.2x
  • Spree 1.2
  • Ruby 1.9.3x

我正在尝试编辑其中一个页面的标题,但我无法找到它定义的位置。它在我的基本ERB文件中显示为“标题”,但该名称足够通用,几乎无法找到它的定义位置。

我已经到处思考,我已经尝试过搜索“title =”,但没有任何效果。我尝试在其上调用source_location,但这似乎只适用于方法。

查找变量定义位置的任何技巧?

2 个答案:

答案 0 :(得分:1)

我想不出一种优雅的方式。一种愚蠢但可能有效的方法是将堆栈跟踪转储到erb中,然后查看这些位置正在做什么以及是否在那里定义了title。它必须进入程序开始和调用你的erb之间的某个地方。

答案 1 :(得分:1)

无法找到某些内容时,我会在命令行中使用grep -ri some_string .来递归搜索目录的所有内容。

让编辑器搜索所有源代码也是一个很好的策略,因为值得使用的源代码能够搜索目录中的所有文件。


  

它是由产品名称,网站配置和其他内容的混合创建的

另一个技巧是在ERB文件中添加HTML注释部分,并将用于创建标题的组件的相关信息放入该部分。然后,让页面生成并查看页面内容,以确定它是什么表和行ID,site_config文件名等。

你真的应该能够根据连接起来构建标题的部分找出它,然后搜索你的数据库或文件。这些信息不是由Rails凭空创造的;有人不得不告诉Rails如何定义标题。但是,人们继续前进,或者他们没有正确记录,所以尝试嵌入式信息技巧。