1

show.html.erbファイルにbutton_toタグがあります。

  <%= 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

何を変更すればよいですか。私は少し混乱しています、本当にいくつかの助けをいただければ幸いです。

4

2 に答える 2

0

ルートを修正して、このように定義してください

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

次にルートファイルで

    resources :users do
      collection do
         get: process
     end
    end

それは確かに機能します

于 2012-04-30T06:57:20.297 に答える
0

1) ビューでは、'users_controller' ではなく、'users' のようなコントローラー名を使用します。

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

2) rails はデフォルトでいくつかのルートを定義しますが、他のルートについては自分で定義する必要があります。次のようにルートを宣言します。

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

その助けを願っています。

于 2012-04-30T06:19:37.130 に答える