Hi, I have just started using Ruby on Rails with cPanel. I can set up my application ok but I am having problems with linking the application with a mysql database. I have run ruby sctipt/generate model and created the table through the migration. The table appears in the database correctly. The original settings were for sqlite3 but I want to use mysql so that may be the issue. I have changed the database.yml file matching with the correct db information; development: adapter: mysql database: [hidden] username: [hidden] password: [hidden] host: localhost socket: /var/lib/mysql/mysql.sock I want to access a table from the db. In the team controller I do this (i have a table called teams); @team = Team.find(:all) and in the views do this; <% for player in @team %> <%= player.id %> <% end %> but I get this error; NoMethodError in Team#index Showing team/index.html.erb where line #4 raised: You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.each Extracted source (around line #4): 1: Team Says Hi 2: <br /><br /> 3: 4: <% for player in @team %> 5: <%= player.id %> 6: <% end %> 7: hope you can help. Thanks a lot
on 2008-10-23 13:30
on 2008-10-23 21:01
try executing following seems like your table is empty try follwoing open command window.. goto your project directory.. run console.. ./script/console they try Team.find(:all) and see if it returns anything.. it will tell you if there is any data in teams table. let me know Ajit
on 2008-10-24 01:51
Hi, Yep the data is shown which I had entered into the table, through the migration. Hope you can help, Thanks a lot!