ActionController :: RoutingError - PullRequest
       5

ActionController :: RoutingError

0 голосов
/ 26 апреля 2010

Я только изучаю 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

View

<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>

Спасибо

Ответы [ 2 ]

2 голосов
/ 26 апреля 2010

Ваш form_tag должен указать контроллер, а также действие. Итак:

<%= form_tag :controller => 'entries', :action => 'sign_in' do %>

Обратите внимание, что с точки зрения Rails это очень старомодный способ ведения дел, и я рекомендую вам узнать о маршрутах RESTful в руководстве Rails Routing from Outside In . *

0 голосов
/ 26 апреля 2010

Вы должны включить следующие в свои маршруты.rb

map.resources :entries, :collection=>{:sign_in=>:post}

Перезагрузите сервер

<% form_tag :controller=>'entries' , :action => 'sign_in' do %>

если вы просматриваете только папку с записями, вам не нужно указывать имя контроллера, оно будет по умолчанию принимать его. просто напишите

<% form_tag :action => 'sign_in' do %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...