I have created a product, with two controllers and two models, one for categories and one for articles. In my models directory, I have article.rb and articles.rb and seem to have code that relies on both of these! I am unable to get any validation working because of this (whichever model I put the code in, it doesn''t load it) Should I just rip it all apart and start again? -- Posted via http://www.ruby-forum.com/.
the name of the controller file should be article.rb, and the class ArticleController Write some tests, see what is depending on the other class, and refactor. matt On 1/19/06, Matt Lee <matt.lee@cfh.nhs.uk> wrote:> > I have created a product, with two controllers and two models, one for > categories and one for articles. In my models directory, I have > article.rb and articles.rb and seem to have code that relies on both of > these! > > I am unable to get any validation working because of this (whichever > model I put the code in, it doesn''t load it) > > Should I just rip it all apart and start again? > > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060119/386de113/attachment-0001.html
Matt, not sure what you''ve done to get what you''ve got, but the destroy script will certainly help you clean up properly (i.e: it removes the tests and helpers and stuff) e.g: ruby script/destroy controller article John. p.s: we off for a curry tomorrow night? Omar''s in Bradford yeah? ;) p.p.s: anyone in Bradford, UK is welcome to join us too :) On Thu, 2006-01-19 at 17:47 +0100, Matt Lee wrote:> I have created a product, with two controllers and two models, one for > categories and one for articles. In my models directory, I have > article.rb and articles.rb and seem to have code that relies on both of > these! > > I am unable to get any validation working because of this (whichever > model I put the code in, it doesn''t load it) > > Should I just rip it all apart and start again? >
Now getting:- You have a nil object when you didn''t expect it! You might have expected an instance of Array. The error occured while evaluating nil.inject The offending snippet of code is:- <select id="article_category_id" name="article[category_id]"> <%= options_from_collection_for_select categories, "id", "category", article.category_id %> </select> My form itself is in a partial, which I am rendering with:- <%= render :partial => ''form'', :locals => {:article => @article, :categories => @categories} %> matt -- Posted via http://www.ruby-forum.com/.
Can''t really see what''s going on there, but what you SHOULD have is: you should have two controllers called categories.rb and articles.rb in the controllers folder. And your models folder should contain the singular of these, so category.rb and article.rb. Other than that, your partial seems correct. You sure @categories and @article are set correctly in your controller? They appear to be nil. Have a look at the Sql in your logfiles and run it on your database to make sure it returns the data you''re expecting. Is the name of your field that holds your category name called category? Hope any of this helps you find the problem. Joerg -- Posted via http://www.ruby-forum.com/.