Как получить пользовательское действие, чтобы перейти в нужное место? - PullRequest
0 голосов
/ 24 октября 2009

Я новичок в Ruby on Rails, и я уверен, что мне просто не хватает чего-то простого и глупого, но я не могу понять, как заставить работать мое действие "учетная запись / регистрация".

Вот что у меня в файле маршрутов:

map.connect ':controller/:action'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
map.root :controller => "home"

Я добавил это в свой контроллер учетных записей:

def signup
  @account = Account.new

  respond_to do |format|
    format.html # signup.html.erb
    format.xml  { @account }
  end
end

И я добавил signup.html.erb в папку представлений учетных записей.

Тем не менее, когда я захожу на него в браузере, я получаю эту ошибку:

ActiveRecord :: RecordNotFound в AccountsController # show Не удалось найти аккаунт с идентификатором = регистрация

Что я делаю не так?

Ответы [ 4 ]

2 голосов
/ 24 октября 2009

Вот совет:

Если вы запустите rake routes, он покажет вам все возможные маршруты для вашего приложения. Это должно быть очевидно в зависимости от того, какой URL вы вводите, будет ли он правильно разрешен или нет.

Для хорошего обзора маршрутов прочитайте это руководство . Есть очень много вещей, которые вы можете сделать с маршрутами, поэтому стоит потратить некоторое время на их чтение.

2 голосов
/ 24 октября 2009

Добавьте следующий код прямо поверх вашего файла rout.rb

ActionController::Routing::Routes.draw do |map|
  map.connect 'account/signup', :controller => 'account', :action => 'signup'
  ...
  ...
  ...
end

Также я думаю, что вы имеете в виду Аккаунт, а не Аккаунты.

1 голос
/ 24 октября 2009

Если вы хотите следовать модели REST, ваш контроллер должен называться сеансами , и ваше действие регистрации должно быть новым , поэтому в ваших маршрутах вы можете сделать:

map.resources :sessions

Этот сайт настоятельно рекомендуется всем новичкам в Rails:

http://guides.rubyonrails.org/

0 голосов
/ 24 октября 2009

Следующее также будет хорошо при добавлении в do | map | раздел маршрутов .rb

map.resource :account, :member => {:signup => :get}

Создаст стандартные маршруты для вашего аккаунта контроллера, а также добавит новый маршрут учётной записи / регистрации. Он также предоставляет обычные помощники URL в дополнение к signup_account_url и signup_account_path

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...