ruby-on-rails - 在 Ruby on Rails 中查找未使用的 View /部分

标签 ruby-on-rails ruby

我目前正在从事一个大型的 Ruby on Rails 项目。它已经足够老,也足够大,以至于不清楚是否所有 View 都在实际使用中。

有没有可以生成未使用 View 文件列表的脚本/插件?

最佳答案

我写了一个脚本来查找未使用的部分/ View 。不过,我假设“未使用”意味着存在一个 View 文件,但没有为其定义 Controller 方法(不再)。该脚本不检查 View 是否被调用,因为没有从默认路由到它的链接。这会复杂得多。

将以下脚本放在应用程序的脚本文件夹中:

#!/usr/bin/env ruby
require 'config/environment'
(Dir['app/controllers/*.rb'] - ['app/controllers/application.rb']).each do |c|
  require c
  base = File.basename(c, '.rb')
  views = Hash.new
  Dir["app/views/#{base.split('_')[0]}/*"].each do |v|
    views.store(File.basename(v).split('.')[0], v)
  end
  unused_views = views.keys - Object.const_get(base.camelcase).public_instance_methods - ApplicationController.public_instance_methods
  puts "Unused views for #{base.camelcase}:" if unused_views.size > 0
  unused_views.each { |v| puts views[v] }
end

它有点骇人听闻且未完成,但它完成了工作 - 至少对我而言。

像这样执行它(你只需要在第一次使用 chmod 更改执行位):

chmod +x script/script_name
./script/script_name

尽情享受吧!

关于ruby-on-rails - 在 Ruby on Rails 中查找未使用的 View /部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/536307/

相关文章:

ruby-on-rails - Rails 3 中的联系我们表格

javascript - rails : Passing controller variable to JS using ERB slows page?

mysql - 在 MySQL 中表示无穷大

ruby - 在 Redis 中存储哈希的哈希

ruby-on-rails - 如何配置 Ruby God 来监控 > 1 个进程?

ruby-on-rails - 如何在 Ruby on Rails 中下载 CSV 文件?

Javascript - 在文本字段中添加数量时应用价格变化

ruby - 在 Ruby 中将目录添加到加载路径的末尾?

ruby-on-rails - Rails 中的大小写不敏感

ruby-on-rails - Rails 3.0 在每个循环中有 "or"语句