私のアプリケーションでは、静的なページを作成したいと思います! (感嘆符)。たとえば:Railsを使用しています! (感嘆符)
/!/about
/!/faq
現在、私は私のroutes.rb
ファイルに接頭辞pages
を使用して、それが機能があります:私はpages
を交換する場合
# config/routes.rb
get 'pages(/:action)' => 'pages', :as => :page
これは、しかしなど、素晴らしい作品、そして正しいURLを生成します!
で、ルートは失敗:
# config/routes.rb
get '!(/:action)'...
はここrake routes
の出力です:
pages GET /!(.:format) {:controller=>"pages", :action=>"index"}
page GET /!/:action(.:format) {:controller=>"pages"}
ご覧のとおり、Railsはルートを生成しています。私は他のシンボル(のよう@
)期待通りのルートが動作を使用する場合は、皮肉なことに
No route matches {:controller => "pages", :action => "about"}
:私は私の意見では、これらの名前の経路のいずれかを使用しようとすると、しかし、私は、ルーティングエラーが発生します。なぜ私は私のルートで!
感嘆符を使用することはできません:(私はgithubの上の問題を提出する必要がありますか。私は手動で{:controller => :pages, :action => :about}
同じエラーのルートを指定した場合、それも失敗した
PS。
PSS直接訪問した場合のルートは実際に動作(/!/about
は)正しいページをレンダリングします。URLヘルパーはちょうどそれが実際にリンク:(
思想私は答えを持っていたが、その後、私は同じ問題に遭遇したとみなされています。感嘆符を削除すると、home_path()メソッドが機能します。それ以外の場合は、それを認識しません。誰かが答えを出さなければ、バグを報告するのは良い考えです。あなたの問題を解決するには、少なくともHTMLリンクを使用することをおすすめします。 – agmcleod
Phew。少なくとも私は狂っていないことを知っています。私は本当に気持ち悪いHTMLリンクに頼らない方がいいです(特にHAMLを使っているので)。今は '@ '記号を代わりに使用しています:/。私は2日待って、賞金を稼ぎ、問題を提出します。私が絶対に確信していなければ、コアチームに負担をかけることはありません。 – sethvargo
ええ、それは良い考えだと思います。もう1つのことは、リンクを使用して、感嘆符をinfrontに連結することです。それはずっとずっときれいではありませんが。 – agmcleod