Ruby on rails 如何追溯Rails中的收益率

Ruby on rails 如何追溯Rails中的收益率,ruby-on-rails,Ruby On Rails,假设我正在使用现有的Rails应用程序。分解应用程序的最佳方法是什么 如果从layouts/application.html.erb开始,我将看到一个或多个语句。如何轻松地从浏览器中的显示视图返回到构建产品的底层代码?ie:没有在每个视图中通读代码 这并不是我在这个问题上真正想要的,但它可能会帮助其他在Rails上寻求帮助的人。我已经使用rails脚注gem有一段时间了。它在页面中添加了一个页脚,其中包含各种有用的信息:实例变量、视图信息,甚至还有带计时的SQL语句 gem'rails foot

假设我正在使用现有的Rails应用程序。分解应用程序的最佳方法是什么

如果从layouts/application.html.erb开始,我将看到一个或多个语句。如何轻松地从浏览器中的显示视图返回到构建产品的底层代码?ie:没有在每个视图中通读代码

这并不是我在这个问题上真正想要的,但它可能会帮助其他在Rails上寻求帮助的人。我已经使用rails脚注gem有一段时间了。它在页面中添加了一个页脚,其中包含各种有用的信息:实例变量、视图信息,甚至还有带计时的SQL语句


gem'rails footnotes'要安装

您可以使用ruby调试器

假设您使用的是Ruby 1.9.3,如果您没有,请回复,您暗示要执行以下操作:

在gem文件中,包括:gem“debugger” 保存后运行bundle 在您的控制器中或您想要使用它的任何地方,将行调试器放置在您想要停止代码执行的位置。 现在通过浏览器点击你的应用程序,查看服务器的启动位置,你会看到调试提示

您可能必须在调试模式下启动服务器,具体操作如下:

rails server --debugger

您可以使用ruby调试器

假设您使用的是Ruby 1.9.3,如果您没有,请回复,您暗示要执行以下操作:

在gem文件中,包括:gem“debugger” 保存后运行bundle 在您的控制器中或您想要使用它的任何地方,将行调试器放置在您想要停止代码执行的位置。 现在通过浏览器点击你的应用程序,查看服务器的启动位置,你会看到调试提示

您可能必须在调试模式下启动服务器,具体操作如下:

rails server --debugger

如果调试器太复杂,并且您正在寻找更多的跟踪文件,那么您可能可以使用默认的日志输出来获取。例如,在发出请求时,默认情况下会输出类似于以下内容的输出:

Started GET "/login" for 127.0.0.1 at 2012-11-27 17:52:16 -0600
Processing by SessionsController#create as HTML       
  Rendered sessions/create.html.erb within layouts/application (1.0ms)
  Rendered application/_header.html.erb (1.0ms)
  Rendered application/_wrapper.html.erb (54.0ms)
Completed 200 OK in 150ms (Views: 150.0ms | ActiveRecord: 0.0ms)
如您所见,输出包含SessionControllerCreate访问的控制器和操作,以及layouts/application中请求呈现会话/create.html.erb呈现的各个部分

如果您希望在调试器的简单性和复杂性之间找到某种东西,您可能希望尝试类似或的方法


可能您正在寻找的只是一个好的IDE。一些rails专家可能会嘲笑使用IDE的想法,但我认为它们可以为新手和专家提供许多优势。在您的例子中,您可能会受益于能够轻松地设置一个切入点,并在代码执行时可视化地执行一步,同时检查变量内容。我真的很喜欢,并毫无保留地推荐它,它不是免费的,但有免费试用,完全值得花费。

如果调试器太复杂,并且您正在寻找更多的跟踪文件,您可能可以通过使用默认的日志输出来获得。例如,在发出请求时,默认情况下会输出类似于以下内容的输出:

Started GET "/login" for 127.0.0.1 at 2012-11-27 17:52:16 -0600
Processing by SessionsController#create as HTML       
  Rendered sessions/create.html.erb within layouts/application (1.0ms)
  Rendered application/_header.html.erb (1.0ms)
  Rendered application/_wrapper.html.erb (54.0ms)
Completed 200 OK in 150ms (Views: 150.0ms | ActiveRecord: 0.0ms)
如您所见,输出包含SessionControllerCreate访问的控制器和操作,以及layouts/application中请求呈现会话/create.html.erb呈现的各个部分

如果您希望在调试器的简单性和复杂性之间找到某种东西,您可能希望尝试类似或的方法

可能您正在寻找的只是一个好的IDE。一些rails专家可能会嘲笑使用IDE的想法,但我认为它们可以为新手和专家提供许多优势。在您的例子中,您可能会受益于能够轻松地设置一个切入点,并在代码执行时可视化地执行一步,同时检查变量内容。我真的很喜欢它,我会毫无保留地推荐它,它不是免费的,而是免费试用的,完全值得花费。

只要在代码中你想破坏的地方添加raiseexception,怎么样。这将生成堆栈跟踪

这是一个相当粗糙的解决方案——我倾向于使用@BradWerth建议的记录器——事实上,仅仅使用Rails日志就足够了。调试器在某些需要深入挖掘的情况下非常有用,但根据我的经验,设置和使用调试器是一件非常痛苦的事情:-

只要在代码中要破坏的地方添加raiseexception,怎么样。这将生成堆栈跟踪


这是一个相当粗糙的解决方案——我倾向于使用@BradWerth建议的记录器——事实上,仅仅使用Rails日志就足够了。调试器在您确实需要深入挖掘的某些情况下非常有用,但根据我的经验,设置和使用调试器非常麻烦:-

谢谢您的回答。这听起来比查看视图代码更难。我在找一家一站式商店
e我可以从渲染视图开始,很容易地看到用于构建它的内容。对不起,我想不出有哪家一站式商店专门满足您的要求,它们都需要您做一些工作。谢谢您的回答。这听起来比查看视图代码更难。我正在寻找一个一站式商店,在那里我可以从渲染的视图开始,轻松查看用于构建它的内容。对不起,我想不出有任何一站式商店可以专门满足您的要求,它们都需要您做一些工作。嗨,布拉德,谢谢您的帖子。机架错误看起来很好。。。除了像许多宝石一样,它看起来已经过时了。我将尝试安装它。现在,我没有意识到您已经在使用rails脚注,这是类似的。另一个类似的选择是-祝你好运。我更新了答案以反映这次讨论,以及发帖后我的一些额外想法。嗨,布拉德,谢谢你的帖子。机架错误看起来很好。。。除了像许多宝石一样,它看起来已经过时了。我将尝试安装它。现在,我没有意识到您已经在使用rails脚注,这是类似的。另一个类似的选择是-祝你好运。我更新了答案,以反映这次讨论,以及发帖后出现的一些其他想法。