Прошу прощения за мой плохой английский. Я только что установил рубины и рельсы несколько часов назад (вы не поверили, что мне потребовалось 3 дня для установки рубинов, rvm, рельсов и т. Д. На этом компьютере ubuntu 10.04), и я пытаюсь реализовать базовый эскиз элемента. Моя версия рельсов 3.0.0, а мой рубин - 1.9.2.ActiveRecord :: RecordNotFound в MembersController # show
Когда я #rails generate scaffold Member email:string password:string
, он создал различные файлы. Я также сделал #rake db:migrate
для реализации базы данных в mysql. Итак, в контроллере члена я увидел, что мне нужно пройти через 127.0.0.1:3000/members/, чтобы перейти к базовой настройке эшафота.
Я только что изменил
def new
@member = Member.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @member }
end
end
выше заявления в контроллере члена в
def register
@member = Member.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @member }
end
end
U см, я просто изменил новый в регистр, и теперь, когда я пытаюсь войти в 127,0. 0.1: 3000/members/register Появляется ошибка ActiveRecord::RecordNotFound
. Как решить эту проблему? Я просто хочу, чтобы сделать 127.0.0.1:3000/members/register быть страница, на которой пользователь может зарегистрировать ..
Кстати, это RoR, кажется очень сложным, и API документов представляется слишком широким, чтобы быть понятным для новичков. Я заказал книгу RoR на прошлой неделе, так что я буду видеть, как это идет ...
Вы имеете в виду просто put -> map.connect '/ members/register',: controller => 'members',: action => 'register' <- в файле route.rb? Я сделал это, но я получаю неопределенную локальную переменную или метод 'map 'для # (NameError) –
pavlo
Вам нужно поставить вышеприведенную строку как ActionController :: Routing :: Routes .draw do | map | map.connect '/ members/register',: controller => 'members',: action => 'register' end – Anubhaw
Я не уверен, что это верно для рельсов 3. Маршрут сильно изменился iirc. – Shadwell