0
我有一些代碼循環遍歷數據,我不得不多次編寫相同的代碼,而且我想「幹掉它」。Rails:DRY方法的重構代碼
下面是一些代碼:
<%= raw @artist["albums"]["Albums"].uniq_by{ |a| a["Genre"] }.collect { |album| link_to album["Genre"], genre_path(CGI::escape(album["Genre"])) unless album["Artist"]["Name"] != @term }.join(" ") %>
,我不必重複多次進行到底unless album["Artist"]["Name"] != @term
反正是有過濾器陣列不必編寫這一點,除非聲明每次更好的作品呢?
希望是有道理的
我能夠做縮短代碼移除uniq_by
<%= raw @artist["albums"]["Albums"].collect { |album| link_to album["Genre"], genre_path(CGI::escape(album["Genre"])) unless album["Artist"]["Name"] != @term }.uniq.join(" ") %>
那麼你可以寫一個輔助方法,但我認爲你需要從頭開始重新考慮這一行代碼。你想達到什麼目的? – bricker
我想收集所有獨特的流派,其中藝術家的名字等於'@ term'變量...對不起,如果代碼是馬虎......仍然學習Ruby:P – dennismonsewicz
所以你只需要一個藝術家的流派列表? – bricker