error when following Agile Web Development in RoR

168 views
Skip to first unread message

jason white

unread,
Dec 8, 2007, 11:50:45 PM12/8/07
to rubyonra...@googlegroups.com

I was originally using instant rails, and decided to try installing ruby, rails, and mysql on my own. No problem with the install. I used gem install rails --include-dependencies, and got no errors. The problem seems to be with defining the scaffold method. I had no problems with this in Instant Rails, and i'm guessing this has something to do with Rails 2.0. Would the RoR gurus please lend a hand, and guide me to the light?


thanks,

Jason

NoMethodError in AdminController#index

undefined method `scaffold' for AdminController:Class

RAILS_ROOT: /Users/jason/rails/depot

app/controllers/admin_controller.rb:2

jason white

unread,
Dec 9, 2007, 2:40:36 PM12/9/07
to rubyonra...@googlegroups.com

green...@gmail.com

unread,
Dec 9, 2007, 2:49:19 PM12/9/07
to Ruby on Rails: Talk
If I'm not mistaken, the issue you're having is due to the fact that
scaffolding has been deprecated as of Rails 2.0. If that's the case,
it might be a bit hard for a Rails newbie to follow along with AWDwR.

I'm pretty n00b-ish myself, so am I totally wrong about this? If I'm
not, does anyone out there have any suggestions for alternative
tutorials that don't presuppose scaffolding?


On Dec 9, 2:40 pm, "jason white" <sillymun...@gmail.com> wrote:
> I was originally using instant rails, and decided to try installing ruby,
> rails, and mysql on my own. No problem with the install. I used gem install
> rails --include-dependencies, and got no errors. The problem seems to be
> with defining the scaffold method. I had no problems with this in Instant
> Rails, and i'm guessing this has something to do with Rails 2.0. Would the
> RoR gurus please lend a hand, and guide me to the light?
>
> thanks,
>
> Jason
>
> NoMethodError in AdminController#index
> undefined method `scaffold' for AdminController:Class
>
> RAILS_ROOT: /Users/jason/rails/depot
> *Application Trace* <http://localhost:3000/admin#> | *Framework
> Trace*<http://localhost:3000/admin#>
> | *Full Trace* <http://localhost:3000/admin#>
> app/controllers/admin_controller.rb:2

Rick DeNatale

unread,
Dec 10, 2007, 9:31:26 AM12/10/07
to rubyonra...@googlegroups.com
On 12/8/07, jason white <silly...@gmail.com> wrote:
>
>
> I was originally using instant rails, and decided to try installing ruby,
> rails, and mysql on my own. No problem with the install. I used gem install
> rails --include-dependencies, and got no errors. The problem seems to be
> with defining the scaffold method. I had no problems with this in Instant
> Rails, and i'm guessing this has something to do with Rails 2.0. Would the
> RoR gurus please lend a hand, and guide me to the light?

Yep, dynamic scaffolding has been moved out to a plugin in Rails 2.0.

Your options are:

1) Switch to rails 1.2.6. This will be the easiest route if you're
still learning rails using AWDWR 2nd ed.
2) Install the scaffolding plugin with:
script/plugin install scaffolding

Option 1 means you are continuing to tread on the same turf expected
by the book, Option 2 is but on step towards adapting your knowledge,
and the books, to Rails 2.0.


--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

Rick DeNatale

unread,
Dec 10, 2007, 10:26:50 AM12/10/07
to rubyonra...@googlegroups.com
On 12/9/07, green...@gmail.com <green...@gmail.com> wrote:
>
> If I'm not mistaken, the issue you're having is due to the fact that
> scaffolding has been deprecated as of Rails 2.0. If that's the case,
> it might be a bit hard for a Rails newbie to follow along with AWDwR.
>
> I'm pretty n00b-ish myself, so am I totally wrong about this? If I'm
> not, does anyone out there have any suggestions for alternative
> tutorials that don't presuppose scaffolding?

I'm not sure deprecated is the right term, it (dynamic scaffolding as
opposed to generated scaffolds) has been moved out of the core and
into a plugin in Rails 2.0. Another thing which has been moved out of
core are db adapters for commercial databases like Oracle, and SQL
server, these are now separate gems.

For the most part Rails 2.0 is pretty compatible with 1.2.x, however,
it's probably different enough to trip up n00bs working through things
like AWDWR 2nd ed. I don't know that there's a really good in-depth
beginners tutorial on Rails 2.0 yet. I'd probably advise folks
starting out with Rails right now to install rails 1.2.x and use that
while following AWDWR.

If someone wants to persist in using AWDWR with Rails 2.0, one hint is
to check the plugin repository at
http://svn.rubyonrails.org/rails/plugins/ if you run into a missing
function like this.

The new book "The Rails Way" looks like a very good resource on Rails
2.0 for those with some rails experience under their belt, but it's
really not structured as a beginner's book.

alfredojahn

unread,
Dec 26, 2007, 9:30:04 PM12/26/07
to Ruby on Rails: Talk
I got the AWDWR 2nd ed for Xmas. I just ran into the "undefined method
`scaffold' for AdminController:Class" error working on my "depoot"
example. I am running on OS X and installed Rails 2.0.2. Someone
suggested I use Rails 1.2. How do I back out 2.0 and go back to 1.2? I
installed it as a "package" on OS X. It installed in /usr/local/bin.
Do I just delete it? Can rails stand alone, or do I need all the
other stuff? Maybe the scaffold plug in is easier. Can someone explain
in detail how to add that plug in?

I'm a java developer w/Unix experience, so I'm not totally clueless,
but I am very new to Rails and Ruby.

Thanks!

Bcp

unread,
Dec 27, 2007, 12:33:32 AM12/27/07
to rubyonra...@googlegroups.com
Search for rails freeze command, use it to go back to version 1.2.6

Sent from my iPhone

Ryan Bigg

unread,
Dec 27, 2007, 12:35:54 AM12/27/07
to rubyonra...@googlegroups.com
Or just gem install rails -v=1.2.6 then specify RAILS_GEM_VERSION in your config/environment.rb.

--
Ryan Bigg
http://www.frozenplague.net
Feel free to add me to MSN and/or GTalk as this email.

George Bailey

unread,
Dec 27, 2007, 12:43:18 AM12/27/07
to rubyonra...@googlegroups.com

The easiest way by far is to just download Locomotive. It's self-
contained, and is removed simply by dragging its folder to the trash.
You'll be up and running in about two minutes after your download
completes.

For even extra easiness, download MAMP as well, and have a self-
contained MySQL install as well.

Jos Achten

unread,
Jan 1, 2008, 3:22:48 PM1/1/08
to rubyonra...@googlegroups.com
Jason, I've found the same trouble installing ruby on rails on Windows.
I've tried to install the ruby plugin but failed. You need to do a few
little changes from the original rubyonrails.org website. Here is the
installation I did:

1) install ruby from www.rubyonrails.org/down.
2) Because ruby changes your path settings, open a NEW command prompt
and
install gems like is told on the www.rubyonrails.org/down website. In
the
new command prompt type "ruby setup.rb".
3) Install the correct rails with the scaffolding. If you already
installed the
latest rails 2.x then uninstall it with "gem uninstall rails". Then
do the
rails install with version 1.2.6. Type
"gem install rails --version 1.2.6 --include-dependencies"
4) Looking at all the different directories, rails creates, I need the
projec
manager. After trying out several I found "Intype" which is very
small and
just do the needful in a nice view. Its still in beta and therefore
its
still free. Download from:
"http://intype.info/home/index.php". You can download both the editor
and
the project manager (I've used rarzilla for the rar file).
5) Download and install the freeware package of MySQL. I'm using the
essentials
package. You need to register though.
6) Create your work direcory (I'm using c:\webserver\test). If you want
to
follow the "Hello" example from the Agile book then type:
"rails Hello"
cd into the "Hello" directory.
Open the webserver with "ruby script/server".
Open the webpage with "http://localhost:3000" and check the
"about your application's environment" for the installed versions
etcetera.

Wish you good luck
--
Posted via http://www.ruby-forum.com/.

LouA

unread,
Jan 1, 2008, 11:07:17 PM1/1/08
to Ruby on Rails: Talk
I too had the AWDwR book 2nd Edition, P3.0 printing (use the P2.0
errata says Dave).
I installed the scaffolding plugin. That step alone, didn't help,
although it may have been best to delete the depot folder and start
again. But that plugin may have been a different type of scaffolding.

I went back to rails version 1.2.5, that was installed when I first
set up Ruby on Linix Fedora 7. I used the commands from a later post
(Jan 1, by Jos Achten, step 3). In fact I had 1.2.5, and 2.0.2
installed and it asked me which I wanted to uninstall. In the end I
uninstalled both and asked for "--version 1.2.5 --include-
dependencies" and that did it. Then I had to delete the depot folder
and restart from the beginning of that chapter. Everything worked as
on pages 68 onward. Frankly, I'm impressed that it generated so much
automatically.

On Dec 10 2007, 9:31 am, "Rick DeNatale" <rick.denat...@gmail.com>
wrote:
Message has been deleted

schni

unread,
Jan 6, 2008, 4:41:29 PM1/6/08
to Ruby on Rails: Talk
Thank you for asking the questions, and thank you for all the replies!

I just ran into the same issue and had it resolved in no time flat
thanks to you!

Summary:

1. I had installed Rails according to the Windows recommendation in
the book
2. When I ran into the problem, I googled the error message, found
this error message, and did the following:
3. typed "gem uninstall rails" at the rails command line
4. typed "gem install rails --version 1.2.6 --include-dependencies"
at the rails command line
5. delete or rename the original depot folder
6. do the following to quickly get back to where you were when the
error hit you:
D:\Rails\rails_apps\work>rails depot
cd depot
D:\Rails\rails_apps\work\depot>ruby script/generate model product
edit D:\Rails\rails_apps\work\depot\db\migrate\001_create_products.rb
add
t.column :title, :string
t.column :text, :text
t.column :image_url, :string
rake db:migrate
ruby script/generate controller admin
edit D:\Rails\rails_apps\work\depot\app\controllers
\admin_controller.rb
add
scaffold :product

(change D:\Rails to where you installed rails, obviously)

Thanks,
Werner
> >       script/plugin install scaffolding- Hide quoted text -
>
> - Show quoted text -

Bob

unread,
Feb 21, 2008, 2:50:39 PM2/21/08
to Ruby on Rails: Talk
Just a quick correction to the last entry. When editing the migration
for the products model, the line 't.column :text, :text' should be
't.column :description, :text'. My validation kept failing until I
realized that the 'description' column had been incorrectly named as
'text'.

Bob

John Lane

unread,
Feb 21, 2008, 5:46:40 PM2/21/08
to rubyonra...@googlegroups.com
If you're following the AWDWR book using Rails 2 you will hit other
problems - for example when it talks about pagination that has been
removed from Rails 2 so it won't work as expected. While running through
the Depot for learning I'd stick with 1.2.6 and then start develping on
1.2.6 so you can rely on the book. Only make the change to 2.0 when
you're comfortable with the basics.

Paul Hoehne

unread,
Feb 21, 2008, 5:55:34 PM2/21/08
to rubyonra...@googlegroups.com
You can install "classic pagination" if that's an issue.
http://railscasts.com/episodes/51

Roy Pardee

unread,
Feb 21, 2008, 6:03:57 PM2/21/08
to Ruby on Rails: Talk
On the topic of scaffolding--I've found this helpful:

http://fairleads.blogspot.com/2007/12/rails-20-and-scaffolding-step-by-step.html

On Feb 21, 2:55 pm, Paul Hoehne <phoe...@penguinwerks.com> wrote:
> You can install "classic pagination" if that's an issue.http://railscasts.com/episodes/51

glenviewjeff

unread,
Feb 22, 2008, 4:44:48 PM2/22/08
to Ruby on Rails: Talk
I tried installing the scaffolding plugin as suggested, and now I get
the following error:

undefined method `paginate' for #<AdminController:0x3216af8>
RAILS_ROOT: C:/InstantRails-2.0-win/rails_apps/depot

Do I need another plugin?

Thanks,
Jeff

rail_passenger_beginners_class

unread,
Mar 31, 2008, 5:50:42 PM3/31/08
to Ruby on Rails: Talk
I originally got the <b>undefined method `scaffold' for
AdminController:Class</b>
then after installing pagination I got <b>undefined method `paginate'
for #<AdminController:...</b>

How I got around was this:
1) check all installed gems on your machine
<b>gem list --local </b>
check the rails versions installed (in my case, this was 2.0.2, 1.2.6,
1.2.5, 1.2.3)

2) uninstall version 2.0.2, using this command:
<b>sudo gem uninstall -v=2.0.2 rails</b>

90kts

unread,
Apr 28, 2008, 3:52:37 AM4/28/08
to Ruby on Rails: Talk

I admit, I'm a Rails noob and have been following the instructions in
AWDwR edition *3*, they haven't mentioned lack of support for this, so
you kind of get stuck on page 76. Is it worth rolling back my version
of rails do you think, or is scaffolding something I can live/learn
without ...

cheers
Tim

On Apr 1, 7:50 am, rail_passenger_beginners_class

Ryan Bigg (Radar)

unread,
Apr 28, 2008, 4:14:58 AM4/28/08
to rubyonra...@googlegroups.com

Scaffolding is definitely something you can live and learn without.

c-a

unread,
Jun 20, 2008, 1:05:52 AM6/20/08
to Ruby on Rails: Talk
Is there any place where it is summarized the changes to make to
Awdwr's depot exercise if we decide to use RoR 2.0?
It doesn't make sens to me to learn an old technology when I'm not
gonna stick with it anyways...

thanks

Davo

unread,
Jun 20, 2008, 10:24:43 PM6/20/08
to Ruby on Rails: Talk
Yep - get the third edition ( currently in Beta )
http://pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition
HTH - Dave
Reply all
Reply to author
Forward
0 new messages