2010-12-30 14 views
10

私はちょうど言語を学び始めているので、私はRails 3のルートとちょっと混乱しています。私のルートでその後Rails 3ルートとGETを使用してクリーンURLを作成しますか?

<%= form_tag towns_path, :method => "get" do %> 
    <%= label_tag :name, "Search for:" %> 
    <%= text_field_tag :name, params[:name] %> 
    <%= submit_tag "Search" %> 
    <% end %> 

:私はここで生成されたフォームを持つフォームを送信なぜとき

get "towns/autocomplete_town_name" 
    get "home/autocomplete_town_name" 

    match 'towns' => 'towns#index' 
    match 'towns/:name' => 'towns#index' 

    resources :towns, :module => "town" 
    resources :businesses, :module => "business" 

    root :to => "home#index" 

は、だから私は、URLを得るのですか?

/町UTF8 =✓ &名前=町名&コミット=検索

/町/ townname

おかげで、

アンドリュー

+0

あなたは何を期待していますか? –

+0

申し訳ありませんが、私はURLが表示されると期待していることを示す最後のビットを更新しました。 –

答えて

6

まずルート

resources :towns do 
    post 'townname', :on => :collection 
end 
:だから質問は、私のようなきれいなURLにそのURLを作るのですかどのようです

または

match "town/:name" => "towns#index", :as => :townname, :via => [:post], :constraints => { :name => /[A-Za-z]/ } 

とフォーム

<%= form_tag townname_towns_path, :method => "post" do %> 
    <%= label_tag :name, "Search for:" %> 
    <%= text_field_tag :name, params[:name] %> 
    <%= submit_tag "Search" %> 
<% end %> 
+2

POSTとGETの違いについての記事http://wiki.answers.com/Q/What_is_the_difference_between_get_and_post_method_in_HTTP – Bohdan

+0

これはGETでは不可能で、どんな検索でもブックマークとして保存できますか?このソリューションを投稿していただきありがとうございます! –

+0

URLにGETリクエストがある場合は、常にパラメータと値のペアがあります。リクエストはPOSTにする必要があります。新しいルートを試してみてください。 – Bohdan

関連する問題