私のウェブサイトの一部に英語 - フランス語の辞書があります。私はurlをsite.com/dictionary/:wordにしたい。しかし、英語の単語、フランス語の単語、および単語の男性/女性のバージョンがあるため、複数の単語を使用して1つのエントリを参照することができます。Rails 3:英語 - フランス語辞書の安らかなルート
次のコードを使用して、Rails 3で動作させることができました。
# routes.rb
match 'dictionary/:word' => 'dictionary#show'
match 'dictionary' => 'dictionary#index', :as => :dictionary
# dictionary_controller.rb
def show
@word = Dictionary.find(:first,
:conditions => ['
en_word_m = (?) or
en_word_f = (?) or
fr_word_m = (?) or
fr_word_f = (?)
',
params[:word], params[:word], params[:word], params[:word]
]
)
end
あなたが見ることができるように、コードは非常に安らか少し厄介で、そしてません。それはまた、リンクのヘルパーにお尻の痛みを与え、代わりにハッシュを使うほうが良い。私はこれを行うより良い方法があるのだろうかと思っています。