cn w update the two tables under one action ...both are in one to one relation

i hav tried this thng.....but it s coming to the else part.

class Article < ActiveRecord::Base belongs_to :category end

class Category < ActiveRecord::Base has_one :article end

def update     @article = Category.new    @article.uploaded_data = (params[:article])     @article.article = Article.find(params[:id])         @article.article.tag_list = (params[:tag_list])        if @article.update_attributes(params[:article])          redirect_to :action => 'show', :id => @article      else         @categories = Category.find(:all)         render :action => 'edit'

  end

joe wrote:

def update     @article = Category.new    @article.uploaded_data = (params[:article])     @article.article = Article.find(params[:id])         @article.article.tag_list = (params[:tag_list])        if @article.update_attributes(params[:article])          redirect_to :action => 'show', :id => @article      else         @categories = Category.find(:all)         render :action => 'edit'

  end

Instead of update_attributes(), use update_attributes!() and then you will be able to see the exception of why you weren't able to save..

optionally, you can just check @article.errors..

hth

ilan

joe wrote:

    @article = Category.new

So @article is a Category. It may help to follow what is happening by using more relevant variable names. Perhaps use @category to refer to a category?

   @article.uploaded_data = (params[:article])

What is params[:article] refering to? Does it come from a form editing an article or is it just a text field which you're setting to this attribute of a Category object?

    @article.article = Article.find(params[:id])         @article.article.tag_list = (params[:tag_list])        if @article.update_attributes(params[:article])

You've been carefully setting attributes of @article (a Category object) and now you are going to overwrite those from params[:article] which earlier looked like a text element (uploaded_data) but now is a hash of Category object keys and values?

I suspect your problem is that you are trying to set this Category object (@article) from an Article attribute hash and you probably want:

if @article.article.update_attributes(params[:article])

? If so, then the confusion is probably due to calling your Category object by the name @article