| | |
Simple Rails Application trouble
Please support our Ruby advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
Thread Solved |
Hey everyone,
I am new to Ruby on Rails and I am having a problem that I can't seem to figure out. I have a mysql database that I created and I have created a model for it. I have did not create a migration, as the database is already full of information. I added a scaffold to the application, and it showed the data from the database with no problems.
I have tried to create a new controller called portfolio, and in this I have an index. Here is the controller code:
The @stocks is, from what I understand, supposed to contain the rows returned from the database. Below is my Stock Model code:
Finally, I have a view created in app/views/portfolio/index.rhtml Below is the code from there:
in the database table, I have a column named stock_symbol. When I try and access this view in a web browser, I get the following error message:
I don't understand why I am seeing this. Anyone have any ideas?
Thanks for the help in advance.
Nick
I am new to Ruby on Rails and I am having a problem that I can't seem to figure out. I have a mysql database that I created and I have created a model for it. I have did not create a migration, as the database is already full of information. I added a scaffold to the application, and it showed the data from the database with no problems.
I have tried to create a new controller called portfolio, and in this I have an index. Here is the controller code:
Ruby Syntax (Toggle Plain Text)
class PortfolioController < ApplicationController def index @stocks = Stock.find_active_symbols end end
The @stocks is, from what I understand, supposed to contain the rows returned from the database. Below is my Stock Model code:
Ruby Syntax (Toggle Plain Text)
class Stock < ActiveRecord::Base def self.find_active_symbols find(:all, :order => "stock_symbol") end end
Finally, I have a view created in app/views/portfolio/index.rhtml Below is the code from there:
Ruby Syntax (Toggle Plain Text)
<% for st in @stocks -%> <%= h(st.stock_symbol) %> <% end %>
in the database table, I have a column named stock_symbol. When I try and access this view in a web browser, I get the following error message:
Ruby Syntax (Toggle Plain Text)
undefined method `stock_symbol' for #<Stock:0xb72e11a4>
I don't understand why I am seeing this. Anyone have any ideas?
Thanks for the help in advance.
Nick
Looking at your code I can't see whats wrong.
What happens if in your view you do
It may give a clue as to what's wrong.
What happens if in your view you do
Ruby Syntax (Toggle Plain Text)
<% for st in @stocks -%> <%= h(st.inspect) %><br /> <% end %>
It may give a clue as to what's wrong.
Note to self... pocket cup
•
•
Join Date: Jan 2005
Posts: 3
Reputation:
Solved Threads: 1
Since you're working with a MySQL database that's already full of data, do they follow Rails conventions? I.e., are the table names plural (e.g., the table corresponding to the Stock model should be named "stocks") and does each table with a Rails model class have an "id" field that's its primary key?
If not, that would cause problems (though I'm not sure if it would cause the problem you're seeing at the moment).
Ed
If not, that would cause problems (though I'm not sure if it would cause the problem you're seeing at the moment).
Ed
![]() |
Other Threads in the Ruby Forum
- Previous Thread: My first Ruby programming question :-)
- Next Thread: Amazon-Ecs Local Download Slow on Leopard
| Thread Tools | Search this Thread |





