2012-04-30 10 views
1

show.html.erbファイルにbutton_toタグがあります。Rails:ルーティングエラー

<%= link_to 'Click HERE to open file', @user.image.url %><br/><br/><br/> 
<%= label_tag(:q, "Parse CSV File:") %><br/> 
<%= button_to 'Parse CSV', {:controller => "users_controller", :action => "process" } %> 
    <% end %> 

は、その後、私はこれは私のusers_controller.rbファイル

# GET /users/1/process 
def process 
puts 'To be Implemented' 
end 

イムルーティングファイル

No route matches [POST] "/assets" 

これは私のルーティングファイルがどのように見えるかある中でエラーを取得しに追加しました

resources :users 

resources :listings 

どうすればよいですかアンジ。私はちょっと混乱して、本当に助けに感謝しています。

答えて

0

あなたのルートを修正し、この

<%= button_to 'Parse CSV', {:controller => "users", :action => "process" } %> 

のように定義してくださいルートファイル内

resources :users do 
     collection do 
     get: process 
    end 
    end 

それは確か

+0

いいえ、動作しません。それは 'get: 'process''でなければなりません。 – Mischa

+0

あなたの応答をありがとうが、私はここで何かを修正したい "get:process" dosen'tする必要があります: "get:process" – banditKing

0

1)「users_controller」ではなく「users」のようなコントローラ名を使用してください。

<%= button_to 'Parse CSV', {:controller => "users", :action => "process" } %> 

2)レールはデフォルトでいくつかのルートを定義しますが、その他の場合は自分自身を定義する必要があります。 次のようなルートを宣言してください。

resources :users do 
    :member => { 
    :process => :get 
    } 
    end 

希望します。その後

+0

が問題のusers_controller' 'についての一部を編集しないでください動作します!!多分それが問題であり、他のユーザーがそれを編集すると他のユーザーを助けることはできません。 – Mischa

関連する問題