I am using Rails 2.0.2 with mysql database Migrate sets the primary key to id. Is it possible to change it to another column? If yes, how? Thanks for your help Cypray. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
First thing I would ask is "why?" What is the reason behind the change? On Dec 5, 7:14 pm, Jay Mark <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> I am using Rails 2.0.2 with mysql database > Migrate sets the primary key to id. > Is it possible to change it to another column? > If yes, how? > Thanks for your help > > Cypray. > -- > Posted viahttp://www.ruby-forum.com/.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Well, I am having trouble with this query: class Author < ActiveRecord::Base has_many :books def author_age @results = Author.find :all, :conditions => ["age = ?", params[:authors]] end end I have this on view\authors\show.html <table border="1"> <tr> <td width="20%"><p align="center"><i><b>Author Name</b></i></td> <td width="20%"><p align="center"><i><b>Age</b></i></td> </tr> <% @results.each do |result| %> <tr> <td><%=h @result.name %></td> <td><%=h @result.age %></td> </tr> </table> I am getting this error: "You have a nil object when you didn''t expect it!" The log shows "NULL" for the selected age whose value should be passed in as the condition for the query. So, I wanted to change the primary key just to see if it might make any difference. I don''t know what is wrong with the query. In SQL, the query is like this: SELECT name, age FROM author WHERE age = "the user selected age" Cypray. Bobnation wrote:> First thing I would ask is "why?" What is the reason behind the > change?-- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Fri, Dec 5, 2008 at 10:50 PM, Jay Mark <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>wrote:> > Well, I am having trouble with this query: > > class Author < ActiveRecord::Base > > has_many :books > > def author_age > @results = Author.find :all, :conditions => ["age = ?", > params[:authors]] > end > end > > > > I have this on view\authors\show.html > > <table border="1"> > <tr> > <td width="20%"><p align="center"><i><b>Author Name</b></i></td> > <td width="20%"><p align="center"><i><b>Age</b></i></td> > </tr> > > > <% @results.each do |result| %> > > <tr> > > <td><%=h @result.name %></td> > <td><%=h @result.age %></td> > </tr> >Hi, in the above HTML, you should be using result instead of @result. For example, <td><%=h result.name %></td> <td><%=h result.age %></td> Good luck, -Conrad --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Fri, Dec 5, 2008 at 10:50 PM, Jay Mark <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> def author_age > @results = Author.find :all, :conditions => ["age = ?", > params[:authors]] > end> I am getting this error: "You have a nil object when you didn''t > expect it!" > The log shows "NULL" for the selected age whose value should be passed > in as the condition for the query. > > So, I wanted to change the primary key just to see if it might make any > difference. I don''t know what is wrong with the query.Change the primary key? Why not repaint your bedroom? Maybe put new tires on the car? :-) I already told you in another thread: params[:authors] IS NOT the value you think it is. You are NOT PASSING a valid value for "age" so of course the result set is empty, giving you a nil @results. Your form doesn''t match up with your code. That''s the problem. -- Hassan Schroeder ------------------------ hassan.schroeder-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---