[Locomotive-users] Re: Locomotive-users Digest, Vol 9, Issue 5
Ryan Raaum
ryan.raaum at gmail.com
Sat Jun 10 03:59:34 GMT 2006
On 6/9/06, David Matuszek <matuszek at cis.upenn.edu> wrote:
> >
> > OK, this one is easy, and it's a mistake I've done as well before.
> >
> > 1. Before using the scaffold script OR the scaffold method in a
> > controller, you *must* have created the db table with the required
> > fields and so on.
>
> I'm pretty sure I've done that. (My steps 10 and 11.)
>
> > So I think the correct workflow goes something like this:
> >
> > -- run db:migrate to ensure that you can communicate with your db
>
> I'm sorry to be so dense, but I'm reading the books you mention;
> I'm good with languages, but not with configuration. I'm trying to
> adapt a seriously outdated movie just to get Locomotive running;
> after that I can use it to learn Rails. (I learn much better from
> doing than from reading!)
>
> [Quicksilver:~/Desktop/myapp] dave% db:migrate
> tcsh: db:migrate: Command not found.
> [Quicksilver:~/Desktop/myapp] dave% run db:migrate
> tcsh: run: Command not found.
> [Quicksilver:~/Desktop/myapp] dave% ruby db:migrate
> ruby: No such file or directory -- db:migrate (LoadError)
> [Quicksilver:~/Desktop/myapp] dave% ruby
> db:migrate
> -:1: undefined method `db' for main:Object (NoMethodError)
> [Quicksilver:~/Desktop/myapp] dave% irb
> irb(main):001:0> db:migrate
> NoMethodError: undefined method `db' for main:Object
> from (irb):1
> irb(main):002:0> rake db:migrate
> (irb):2: warning: parenthesize argument(s) for future version
> NoMethodError: undefined method `db' for main:Object
> from (irb):2
> irb(main):003:0> exit
>
> I don't get the colon--it's not indicating a symbol or an
> if-then in Ruby, and I know it's not Unix. Also, 'migrate'
> isn't in any of my Ruby, Rails, or MySQL books, and from
> what I can glean from the Web, it's far more complex than
> what I should need for a trivial database.
>
> I hate to ask, but are there maybe just some simple explicit
> steps that I could add to what I've been doing?
>
> Sorry to be such a dunderhead.
>
> --Dave
>
> 1. Downloaded Locomotive from [[http://locomotive.raaum.org].
>
> 2. Ran by double-clicking the Locomotive icon.
>
> 3. Applications -> Create New...
> Application name: myapp
> Application directory: ~/Desktop
> Framework: Rails 1.1.2.
>
> 4. With 'myapp 3000' selected, clicked green 'Run' button.
>
> 5. In browser, went to http://localhost:3000
> This displayed a welcome page.
>
> 6. Applications -> Open Terminal (don't open any other way!)
> Entered the command: ruby script/generate controller say
> This displayed several 'exists' and 'creates' lines.
>
> 7. Used TextWrangler? to open
> ~/Desktop/myapp/app/controllers/say_controller.rb
> and added the lines
> ->def hello
> ->end
> and saved the file.
>
> 8. Then I created a file containing
> <html>
> <body>
> <h1>Hello Dr. Dave!</h1>
> </body>
> </html>
> and saved it as
> ~/Desktop/myapp/app/views/hello.rhtml
>
> 9. In a browser, I went to http://localhost:3000/say/hello
> and saw:
> Hello Dr. Dave!
>
> 10. Then I created a file containing
> create table students (
> id INTEGER PRIMARY KEY,
> name VARCHAR(100));
> and saved it as
> ~/Desktop/myapp/db/schema.sql
>
> 11. In the Terminal window:
> cd ~/Desktop/myapp/db
> sqlite mydb < schema.sql
> This created a binary file named 'mydb'.
>
> 12. Edited the file ~/Desktop/myapp/config/database.yml; changed:
> development:
> adapter: mysql
> database: myapp_development
> username: root
> password:
> host: localhost
> to
> development:
> adapter: sqlite
> database: db/mydb
> host: localhost
> Also changed adapter and database under 'test:' accordingly.
not sure that it makes any difference, but the 'host: localhost'
shouldn't be there.
>
> 13. In the Terminal window:
> cd ~/Desktop/myapp
> ruby script/generate scaffold Student
> This should generate many 'exists', 'creates', and possibly
> 'identical' lines, but no 'error' lines.
>
> >
> > -- script/generate model Student
> >
> > -- edit the generated /db/migrations/001_create_students.rb file
> > and
> > add your table fields. NB!! Use the Rails Migrations instead of SQL,
> > it's better in every way.
> >
> > -- run rake db:migrate
> >
> > -- and then run your script/generate scaffold Student
> >
> > -- things should now be working just great ! (IF not, come back to
> > me/
> > list)
> >
> >
> > The final and *most important* step ;-) is go visit this website
> > [ http://pragmaticprogrammer.com/titles/rails/index.html ] with your
> > creditcard in hand, and plonk down the US$23,50 for the 2nd edition
> > of "Agile Web Development with Rails". It is so worth your time and
> > money, just trust me :-)
> >
> > You might also want to look at Ruby For Rails by David A. Black,
> > also a good point to start with.
> >
> > Hope that will have helped you get going again
> >
> >
> > Kind regards,
> >
> > Mats
> >
> > ----
> > "TextMate, coding with an incredible sense of joy and ease"
> > - www.macromates.com -
> >
> > "RubyOnRails development done the Mac way"
> > - locomotive.raaum.org -
> >
> >
> >
> >
> > ------------------------------
> >
> > _______________________________________________
> > Locomotive-users mailing list
> > Locomotive-users at lists.raaum.org
> > http://lists.raaum.org/mailman/listinfo/locomotive-users
> >
> >
> > End of Locomotive-users Digest, Vol 9, Issue 5
> > **********************************************
>
> _______________________________________________
> Locomotive-users mailing list
> Locomotive-users at lists.raaum.org
> http://lists.raaum.org/mailman/listinfo/locomotive-users
>
--
Ryan Raaum
http://www.anthro.ufl.edu - Molecular Anthropology, University of Florida
http://locomotive.raaum.org -- Self contained one-click Rails for Mac OS X
More information about the Locomotive-users
mailing list