им пытаются сделать простой поиск по моей базе данных от действия индекса вместо перечисления всех данныхвсех моих ссылок POST обрабатывается с помощью «создать»
это мой пользователи/индекс
<%= 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 %>
и это метод найти в моем контроллере:
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 path ... вместо этого он вызывает метод create, который дает несколько ошибок, поскольку проверки не прошли. как мне сделать доступ к методу поиска?
прекрасное! оно работает! может у, пожалуйста, объясните, почему одна кнопка не работала? потому что он явно указывал на правильный путь, а также на использование правильного метода http. маршруты должны были позаботиться о нем правильно? – viswa
Ну, это была публикация, но только не на правильном пути. Я думаю, что без указания пути в самом form_tag, он по умолчанию просто переходит к/users, а в качестве сообщения это означает, что он переходит к действию create. – MrDanA