2011-08-25 13 views
0

チームを1つずつ追加するのではなく、複数のカンマ区切りのチーム名を一度に入力するフォームを作成しようとしています。私のroutes.rbをで、私はteams_controller.rbでmap.connectでroutes.rbが実行されない

map.connect '/teams/massentry', :controller => 'teams', :action => 'massentry' 
map.resources :teams 

を持って、私はそれが私が行ってる時にどのように見えるかではありません

def massentry 
    @team = Team.new 
end 

を持っています。私はちょうどそこにそれを貼り付けたので、何かがあるでしょう。最後に、私はその形式が適切かどうかわからないと明らかに書かれたロジックのいずれかを持っていないが、私はちょうど何を見てみたかった

<% form_tag({:controller => "teams", :action => "massentry"}, :method => 'get') do %> 
    <p> 
    <%= label_tag(:t, "CSV List of Teams" %> 
    <%= text_area_tag(:t, "", :size => "24x6") %> 
    </p> 
    <p><%= submit_tag("Submit") %></p> 
<% end %> 

を/views/teams/massentry.html.erbていますそれはのように見える。私が行った場合

http://localhost:3000/teams/massentry 

id = massentryのチームを見つけることができませんでした。それはshowメソッドを実行していますが、route.rbのリソース行の前にmap.connectを置くと、リダイレクトされると思いました。レール

答えて

2

Railsのルートがin the order they appearを評価されます。だからあなたはあなたのカスタム経路を最初に記述した方法をそのままにするか、@ numbers1311407のようにRESTful wayでそれを行うことができます。また、:post instead of :getを使用する方が理にかなっています。

0

2.3.8を使用すると、このようにそれを試してみてください。

map.resources :teams, :collection => { :massentry => :get } 
+0

route.rbの2行を上記の行と置き換えても同じ結果になります。私はまた試みました:の代わりに投稿:取得します。サーバが何をしているのかを示すことは、 "TeamsController#showの処理"から始まります。したがって、マップラインを取得していないようです。 –

関連する問題