Отдых - это взаимодействие с ресурсом.Если у ресурса много слоев или аспектов, я не скажу ничего плохого в отражении этого в ваших маршрутах:
dictionary/en-f/:word, :as => en_f_word
dictionary/en-m/:word, :as => en_m_word
dictionary/fr-f/:word, :as => fr_f_word
dictionary/fr-m/:word, :as => fr_m_word
Это имеет то преимущество, что отражает характер вещи в URL и позволяет гораздо более наглядно описыватьпомощники:
en_f__word_path(the_word)
Если вам нужны действительно описательные помощники, оберните вышеупомянутое в помощника, чтобы получить:
path_to_french_feminine_word(word)
Кроме того: first устарел в пользу:
Thing.first(:conditions => {:column => 'value'})