2013-06-04 71 views
4

我的工作有以下兩個視圖文件遺留項目:如何查找特定視圖的使用位置?

app/views/devise/registrations/_sign_up.html.erb 
app/views/devise/devise/registrations/_sign_up.html.erb 

我知道在使用的第一個文件,但沒有第二個。我怎樣才能找到這個視圖的用途?

如果我認爲它沒有在任何地方使用(我希望是這樣),我怎麼能100%確定我是對的?

回答

0

爲什麼在/devise/目錄中有devise目錄。我可以從經驗中告訴你,設計不會以這種方式設置應用程序,如果您嘗試使用樣板設計,則此目錄是無用的。

+0

「爲什麼你在/ devise /目錄下有一個devise目錄。」我會很高興知道!我沒有寫代碼。問題在於使用這個觀點的地方。 –

0

你的設計文件夾中不應該有另一個設計文件夾,看起來像以前的維護者意外複製它或某事。我建議移動或刪除文件夾,並通過測試所有與設計相關的功能(註冊,登錄,註銷)來查看應用是否仍然有效。如果它(它可能會),太棒了!

+2

這不是一個壞建議,但很遺憾不能完全回答我的問題。我的問題是,我怎樣才能看到視圖的使用位置,如果它看起來沒有在任何地方使用,我怎麼能確定我是對的?僅僅因爲刪除文件並不會破壞我期望的*破解並不意味着它不會破壞*任何*。在這樣的傳統項目中,所有對合理/合理設計選擇的假設都必須放在窗外。 –

+1

不幸的是,我不認爲有一個簡單的方法來確定視圖是否毫無疑問地被使用。你唯一能做的其他事情就是搜索你的整個項目,我會從'grep'devise/devise「-r .'開始。很有可能,你的額外設計文件夾是一個意外,所以只要應用程序可以工作,你可以合理地確定它沒有必要。 – XanderStrike

0

我們需要一些試驗和錯誤,如果經驗不能100%保證。

首先,添加該模板的一些愚蠢的錯誤代碼,說

<%= nil = 1 %> 

而且,由於此模板有關注冊,完成註冊了相關功能的應用程序,看看是否會出現錯誤拋出。如果集成測試可用,那會更好,只需運行它們。

如果沒有錯誤,您將更有信心刪除此模板。

底線是你有版本控制這個文件,所以你可以在將來恢復它,如果你真的把它錯誤地刪除。

地址:回覆評論

還有另一種方法。檢查什麼字/ html代碼是特殊的,然後在/tmp grep他們。或者,如果這是一個公共應用程序,谷歌「特殊詞語site:theapp.com」。結合這三種方法,如果你仍然無法找到它。刪除它!你不會後悔的!

+1

這是一個非常好的建議,可能會有所幫助。但是,如果'app/views/devise/devise/registrations/_sign_up.html.erb'在一些瘋狂的地方被使用,我永遠不會期望?似乎我必須手動訪問應用程序中的每個頁面(因爲該應用程序沒有100%的測試覆蓋率),以便知道我是否已加載錯誤拋出的「nil = 1」代碼。 –

+0

@JasonSwett,是的,這不是100%保證,但仍然比猜測更好:)我還添加了一些更多的方法。 –

0

在這些情況下,我通常只需要grep代碼庫中的任何提到sign_up。找到他們,重命名你感興趣的文件,確保它不能被這個名稱所取代,然後一個接一個地查看它的用途,以確保它們沒有被破壞。最好的情況下,你可以通過目測grep結果來弄清楚。我很確定嵌套devise/devise目錄是一個意外,可以刪除。

相關問題