[英]Rails - Submit form to controller action
I have ProjectsController and i added there a method called search_for_members i want this method to update a div with members names when the user hit submit via ajax the problem here is that i'm getting routing error 我有ProjectsController,我在那里添加了一个名为search_for_members的方法,我希望该方法在用户通过Ajax命中提交时用成员名称更新div,这里的问题是我遇到了路由错误
No route matches [POST] "/projects/47"
没有路由匹配[POST]“ / projects / 47”
Any help? 有什么帮助吗?
routes.rb 的routes.rb
resources :projects do
resources :user_stories
get '/projects/:project_id/searchformembers' => 'projects#searchformembers'
end
views/projects/show 意见/项目/节目
<%= form_tag :url => {:action => "search_for_members"} , :method => 'get', :remote => true do%>
<div>
<%= text_field_tag :search, params[:search], :class => 'form-control', :placeholder => 'User name'%>
</div>
<%= submit_tag "Add user", :name => nil, :class => "btn btn-info"%>
<% end%>
<div id="members">
<%= render @users %>
<% end %>
projects_controller projects_controller
def search_for_members
if (params[:search])
@users = User.search(params[:search], @project).page(params[:page]).per_page(4)
else
@users = @project.users
end
respond_to do |format|
format.js
end
end
Your route definition is wrong and does not match to your controller or form_for
usage. 您的路线定义有误,与您的控制器或
form_for
用法不匹配。 Change your route like this: 像这样更改路线:
resources :projects do
get :search_for_members, :on => :member
end
And then update your form_for
definition in your view like this: 然后像这样在视图中更新
form_for
定义:
<%= form_tag search_for_members_project_path(@project), :method => 'get', :remote => true do%>
And you should be all set. 而且你应该准备好了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.