1
私のコントローラでは、新しいリクエストと編集リクエストに同じコードを使用したいと思います。このように:Rails3ルーティング:2つのリクエストを1つのエントリポイントに送る方法
def edit
@tag= Tag.find(params[:id]) || Tag.new
end
私の質問は:routes.rb(Rails3)でこれをどのように示しますか?
私のコントローラでは、新しいリクエストと編集リクエストに同じコードを使用したいと思います。このように:Rails3ルーティング:2つのリクエストを1つのエントリポイントに送る方法
def edit
@tag= Tag.find(params[:id]) || Tag.new
end
私の質問は:routes.rb(Rails3)でこれをどのように示しますか?
あなたはこの1つだけのようなリソースのルートを使用していると仮定します
# routes.rb
resources :tags
これは、新規に作成し、あなたのために作成されます。
get "/tags/new" => "tags#edit", :as => :new_tag_path
resources :tags
順序が重要である:
は、以下を使用し、あなただけの新しいマップを編集したいとしますが、そのまま作成し、残りの。上位のものが最初にマッチします。したがって、パスが/tags/new
の場合、アクションを編集するようにルーティングされます。そしてそれが既に一致しているので、それは落ちないので、resources :tags
は新しいアクションに/tags/new
も定義しますが、ルーティングは正常にマッチングされません。
したがって、1行だけを追加すると問題ありません。
ありがとう - それは意味があり、私はそれを試してみます。 –
作品。どうもありがとうございました。 –