[英]ActionController::RoutingError
我只是在学习Rails。 我遇到了路由错误,尽管我认为我在routing.rb中指定了正确的规则。 我已经附上了代码。 请帮忙
的routes.rb
map.connect ':controller/:action'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
调节器
class EntriesController < ApplicationController
def sign_in
@name = params[:visitor_name]
end
end
视图
<html>
<head><title>Hello <%=h @name %></title></head>
<body>
<%=h @name %>
<% form_tag :action => 'sign_in' do %>
<p>Enter your name:
<%= text_field_tag 'visitor_name', @name %></p>
<%= submit_tag 'Sign in' %>
<% end %>
</body>
</html>
谢谢
您的form_tag
需要指定控制器以及操作。 所以:
<%= form_tag :controller => 'entries', :action => 'sign_in' do %>
请注意,按照Rails的说法,这是一种非常老式的处理方式,我建议您从《 Outside In》指南中了解Rails路由中的 RESTful路由。
您必须在route.rb中包括以下内容
map.resources :entries, :collection=>{:sign_in=>:post}
重启服务器
<% form_tag :controller=>'entries' , :action => 'sign_in' do %>
如果仅在entrys文件夹中查看,则无需指定控制器名称,默认情况下将使用该名称。 写吧
<% form_tag :action => 'sign_in' do %>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.