2011-07-20 6 views
9

私はあることrails 3:パスを作成するには?

link_to "eat chocolate", eat_chocolate_user_path(user) 

例えば、私は、このリンクをしたいレール3上に新しいパスを作成する方法についての説明が必要では

link_to "eat chocolate", :controller => 'user', :action=>'eat_chocolate', :id=> user 

に等しい私はrailsguideのルーティングなど、それについて多くのガイドをお読みください。しかし、私はまだそれが正確にどのように動作するのか分からない。

答えて

9

routes.rbファイルに次の行を追加します。

match 'user/eat_chocolate/:id' => 'user#eat_chocolate', :as => :eat_chocolate_user 

詳細な情報は名前付きルートを参照してください。

+0

これを使用する必要がありますありがとう、私は正常にルートを作成することができましたが、私はそれに名前を与えることができませんでした。 – perello

+0

ルートの名前は:asパラメータで指定します。だから、上記はあなたのためにeat_chocolate_user_pathを作成しているはずです。それはあなたのために働いていないのですか? –

2

GETを使用する方がよい場合もあります。誰かが潜在的にアプリケーションを誤って使用することができることを意味し、すべてのHTTP動詞GETPUTPOSTDELETEを受け入れるmatchを使用して

。あなたがやっているすべては#showアクションで何かを示している場合は、代わりに

get 'user/eat_chocolate/:id' => 'user#eat_chocolate', :as => :eat_chocolate_user

関連する問題