繁体   English   中英

ActionController的:: RoutingError

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM