Ruby on rails 3 “没有路线匹配”/用户主页/18/编辑“审阅者”电子邮件;
我在控制器中设置的测试线没有在控制台中打印。。。因此,操作将返回到编辑审阅者电子邮件,而不遵循定义的路径。这是代码 编辑\u审阅者\u电子邮件:Ruby on rails 3 “没有路线匹配”/用户主页/18/编辑“审阅者”电子邮件;,ruby-on-rails-3,forms,Ruby On Rails 3,Forms,我在控制器中设置的测试线没有在控制台中打印。。。因此,操作将返回到编辑审阅者电子邮件,而不遵循定义的路径。这是代码 编辑\u审阅者\u电子邮件: <%= form_for :user, @user, update_reviewer_email_userhome_path do |f| %> <%= f.text_field :email %> <%= f.submit "Update Email" %> <% end %> 用户家
<%= form_for :user, @user, update_reviewer_email_userhome_path do |f| %>
<%= f.text_field :email %>
<%= f.submit "Update Email" %>
<% end %>
用户家庭控制器:
def update_reviewer_email
p "***" # test line
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to(root_path, :notice => 'Email was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit_reviewer_email" }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
end
end
end
错误:
No route matches "/userhome/18/edit_reviewer_email"
路线:
resources :userhome, :except => [:show, :new, :edit, :update, :destroy] do
member do
get :edit_reviewer_email
post :update_reviewer_email
end
end
耙道:
update_reviewer_email_userhome POST /userhome/:id/update_reviewer_email(.:format) {:action=>"update_reviewer_email", :controller=>"userhome"}
日志文件:
Started POST "/userhome/18/edit_reviewer_email" for 127.0.0.1 at 2011-07-15 09:36:52 -0400
ActionController::RoutingError (No route matches "/userhome/18/edit_reviewer_email"):
Rendered /Users/me/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.0.8/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.7ms)
谢谢你的帮助。好的,那么你已经
<%= form_for :user, @user, update_reviewer_email_userhome_path do |f| %>
这显然与您的任何路线都不匹配。请尝试将您的表格更改为
<%= form_for :user, @user, :url => update_reviewer_email_userhome_path do |f| %>
update_reviewer_email_userhome_path do|f|%>
您是否尝试更改您的表单?另外,请从日志中发布一段代码file@BohdanPohorilets不代码的形式_与上述相同。我想在我解决了问题的其余部分后,我会担心弃用警告。
Started POST "/userhome/18/edit_reviewer_email"
<%= form_for :user, @user, :url => update_reviewer_email_userhome_path do |f| %>