0

すべてのデータをリストするのではなく、インデックスアクションからデータベースで簡単な検索をしようとしています

これは私のユーザー/インデックスです

<%= form_tag do %>
<fieldset>
    <div class="row">
        <div class="span5 offset3">
            <h2>Enter the CPF number of the user to be managed: </h2></br></br></br>
            <div>
                <%= label_tag :cpf_no, 'CPF Number:' ,class:"left_align" %>
                <%= number_field_tag :cpf_no, params[:cpf_no] %>
            </div>
            <div>
                <%= button_to  "     Find     ", users_find_path , class: "btn btn-large btn-primary" %></br></br>
            </div>
        </div>
    </div>
  </fieldset>
<% end %>

これは私のコントローラーのfindメソッドです:

 class UsersController < ApplicationController   
  ...
def find 
if request.post?
@user = user.find_by_cpf_no(params[:cpf_no])
redirect_to edit_user_path(@user.id)
end     
end 
...
end

これが私のルートです:

              root        /                                home#index
             login GET    /global/login(.:format)          sessions#new
                   POST   /global/login(.:format)          sessions#create
            logout DELETE /global/logout(.:format)         sessions#destroy
        users_find POST   /global/users/find(.:format)     users#find
             users GET    /global/users(.:format)          users#index
                   POST   /global/users(.:format)          users#create
          new_user GET    /global/users/new(.:format)      users#new
         edit_user GET    /global/users/:id/edit(.:format) users#edit
              user GET    /global/users/:id(.:format)      users#show
                   PUT    /global/users/:id(.:format)      users#update
                   DELETE /global/users/:id(.:format)      users#destroy
            fields GET    /global/data(.:format)           fields#index
                   POST   /global/data(.:format)           fields#create
         new_field GET    /global/data/new(.:format)       fields#new
        edit_field GET    /global/data/:id/edit(.:format)  fields#edit
             field GET    /global/data/:id(.:format)       fields#show
                   PUT    /global/data/:id(.:format)       fields#update
                   DELETE /global/data/:id(.:format)       fields#destroy

問題は、:id/edit パスに移動しないことです...代わりに create メソッドを呼び出しますが、検証に合格しなかったためにいくつかのエラーが発生します。find メソッドにアクセスするにはどうすればよいですか?

4

1 に答える 1

1

form_tag にパスを正しく配置する必要があります。

form_tag user_find_path, :method => :post
    # other code
    = submit_tag "Find"
于 2012-06-29T18:20:49.363 に答える