Forum: Ruby on Rails scaffold not listing my colums from database

Posted by Kyle Gwinnup (kpg123)
on 2007-11-04 22:06
I am using Leopard and just got rails installed.  However, when i do a
sample application to test everything, my scaffold project does not show
any of the information from the database.  below is my migrate file.  So
basically after doing rake db:migrate and creating the scaffold, nothing
shows up when i test this.  the page loads, but all it allows me to do
is create new but will not show me any controls to enter information.

class CreateProducts < ActiveRecord::Migration
  def self.up
    create_table :products do |t|
      t.column :title,        :string
      t.column :description,  :text
      t.column :image_url,    :string
    end
  end

  def self.down
    drop_table :products
  end
end
Posted by is ea (isea)
on 2007-11-04 22:32
Kyle Gwinnup wrote:
> I am using Leopard and just got rails installed.  However, when i do a
> sample application to test everything, my scaffold project does not show
> any of the information from the database.  below is my migrate file.  So
> basically after doing rake db:migrate and creating the scaffold, nothing
> shows up when i test this.  the page loads, but all it allows me to do
> is create new but will not show me any controls to enter information.
> 
> class CreateProducts < ActiveRecord::Migration
>   def self.up
>     create_table :products do |t|
>       t.column :title,        :string
>       t.column :description,  :text
>       t.column :image_url,    :string
>     end
>   end
> 
>   def self.down
>     drop_table :products
>   end
> end

Hey,

I don't know if you are having the same issue as me but this might help. 
I am on a Win machine and installed RoR with Instant Rails. Now I do all 
of the development in a rails apps directory but in order for my changes 
to be seen I have to copy everything over to the www directory.

I have been wanting to post about this for a while but just haven't 
gotten around to it and I have just gotten use to it. Hope this helps. 
Good luck.
Posted by Steve Ross (cwd)
on 2007-11-04 22:36
(Received via mailing list)
On Nov 4, 2007, at 1:06 PM, Kyle Gwinnup wrote:

>
>     drop_table :products
>   end
> end
> -- 

Well, you do have to write a *little* code :)

<% form_for(@product) do |f| %>
   <p><%= f.text_field :title %></p>
   <p><%= f.text_area :description %></p>
   <p><%= f.text_field :image_url %></p>
<% end -%>

Or something like that. Only you know what fields you want to expose
to the user and which controls you want to use for input.
Posted by Kyle Gwinnup (kpg123)
on 2007-11-04 23:00
Steve Ross wrote:
> On Nov 4, 2007, at 1:06 PM, Kyle Gwinnup wrote:
> 
>>
>>     drop_table :products
>>   end
>> end
>> -- 
> 
> Well, you do have to write a *little* code :)
> 
> <% form_for(@product) do |f| %>
>    <p><%= f.text_field :title %></p>
>    <p><%= f.text_area :description %></p>
>    <p><%= f.text_field :image_url %></p>
> <% end -%>
> 
> Or something like that. Only you know what fields you want to expose
> to the user and which controls you want to use for input.

So does scaffold not do this for you?  I am following a book and it says 
nothing about this yet.  It is showing me how scaffold is used.
Posted by Steve Ross (cwd)
on 2007-11-04 23:25
(Received via mailing list)
On Nov 4, 2007, at 2:00 PM, Kyle Gwinnup wrote:

>> Well, you do have to write a *little* code :)
> So does scaffold not do this for you?  I am following a book and it  
> says
> nothing about this yet.  It is showing me how scaffold is used.
> -- 

It used to, but no longer. It also used to fill in the fields for the
list (now index) method and show method. Not sure why the change.

You obviously have a nice new version of Rails and a slightly out of
date book. That's what's great about this list. You catch up in a hurry.
Posted by Kyle Gwinnup (kpg123)
on 2007-11-04 23:27
Steve Ross wrote:
> On Nov 4, 2007, at 2:00 PM, Kyle Gwinnup wrote:
> 
>>> Well, you do have to write a *little* code :)
>> So does scaffold not do this for you?  I am following a book and it  
>> says
>> nothing about this yet.  It is showing me how scaffold is used.
>> -- 
> 
> It used to, but no longer. It also used to fill in the fields for the
> list (now index) method and show method. Not sure why the change.
> 
> You obviously have a nice new version of Rails and a slightly out of
> date book. That's what's great about this list. You catch up in a hurry.

interesting.  well, thats cool.  i didnt plan on using scaffold anyways, 
just new to rails and thought i would try to do all the examples in the 
book.  So is scaffolding even around anymore?
Posted by William Pratt (Guest)
on 2007-11-04 23:28
(Received via mailing list)
You don't need to write any of that code as long as you add the
scaffold directive to your controller or use the scaffold generator.
If you generated a blank controller, make sure you add
scaffold :somemodel inside the controller class. This is not needed if
you used the scaffold generator.

-Bill
Posted by William Pratt (Guest)
on 2007-11-04 23:33
(Received via mailing list)
It definitely still does (thats what it's for?) and I just tested it.
Here is the documentation for scaffold:

http://api.rubyonrails.org/classes/ActionController/Scaffolding/ClassMethods.html#M000165

-Bill
Posted by Kyle Gwinnup (kpg123)
on 2007-11-04 23:33
William Pratt wrote:
> You don't need to write any of that code as long as you add the
> scaffold directive to your controller or use the scaffold generator.
> If you generated a blank controller, make sure you add
> scaffold :somemodel inside the controller class. This is not needed if
> you used the scaffold generator.
> 
> -Bill

Bill,

thats seems to be what i am doing.  in my controller i have one line it 
it:

scaffold:product

but when i try and view the page it doesnt show any of the columns from 
my table.  I am going through the book agile web development with rails 
(second edition).  is that book out of date when it comes to 
scaffolding?
Posted by Steve Ross (cwd)
on 2007-11-04 23:35
(Received via mailing list)
There has been talk about removing dynamic scaffolding, and I'm not
sure what the status is. The generator is still around, but as you
observed (and I did a couple of days ago), the behavior has changed.
Side note: For stuff that's not public-facing, it's surprising how
long scaffolded code can last :) I have an app that's been in
production since before Rails 1.0 and there's still some scaffold
code in it. Happy client because he got a great deal on the code I
didn't write.

Here's a search that may give you some insight into what Rails Core
is saying about scaffolding:

http://www.nabble.com/forum/Search.jtp?
forum=13832&local=y&query=scaffold
Posted by Steve Ross (cwd)
on 2007-11-04 23:40
(Received via mailing list)
On Nov 4, 2007, at 2:33 PM, Kyle Gwinnup wrote:

>
> William Pratt wrote:
>> You don't need to write any of that code as long as you add the
>> scaffold directive to your controller or use the scaffold generator.
>> If you generated a blank controller, make sure you add
>> scaffold :somemodel inside the controller class. This is not  
>> needed if
>> you used the scaffold generator.
>>
>> -Bill

He's running on a pretty new version of Rails, and that provides,
essentially, scaffold_resource from the generator. Please see http://
dev.rubyonrails.org/changeset/7429 for the changeset that recommends
using the scaffold generator.
Posted by William Pratt (Guest)
on 2007-11-04 23:40
(Received via mailing list)
No, it is current for rails 1.2 and as long as you are running the 1.2
version, scaffold will create all of the fields except for
relationships. It will do this for list, create, edit, etc. What
happens when you call that controller's new action:

http://localhost:3000/products/new

I assume your controller is ProductsController and looks like this:

class ProductsController < ApplicationController
  scafflod :product
end

I just tested this on rails 1.2.5 / ruby 1.8.6 and it works as it
always has. If it's still not working, is there anything in your logs?
Can you create a product from the console?

-Bill
Posted by William Pratt (Guest)
on 2007-11-04 23:44
(Received via mailing list)
Ok, maybe this is a rails 2.0 thing, but I am running 1.2.6 (I said
1.2.5 earlier), and it still works fine for me? If you are running
rails 2.0 edge, you should downgrade to 1.2.6 if you want to follow
along with that book which is currently the latest book.

-Bill
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.