creating 2 things at the same time?

So I have 2 models, Comment and Picture. A Comment has one Picture if the users so chooses, but when someone is creating a Comment, it would of course call the create method in the Comment Controller. However, I want it to create a Picture as well. I could add it to the create method in the Comment Controller, but that does not seem very DRY. Is there a way I can do this?

Question is not clear, do you want to create an empty picture record anyway?

Hi Mike Chai

   What I understood is you have relations like

comment has_one picture picture belongs_to comment

As an example comment name:string picture name:string,comment_id:integer

So do as below

in comments_controller new action @comment = Comment.new @comment.picture = Picture.new

    Now in view/comments/new.html.erb

<% form_for(@comment) do |f| %>   <p>     <%= f.label :name %><br />     <%= f.text_field :name %>   </p>

  <p>    <% f.fields_for :picture do |p| %>      <%= p.text_field :name %>    <% end %>   </p>   <p>     <%= f.submit 'Create' %>   </p> <% end %>

     in model Comment write (modify this according to your needs)

has_one :picture,:dependent => :destroy accepts_nested_attributes_for :picture,:reject_if => proc { |attributes| attributes['name'].blank? }

     in create action of comments controller

@comment = Comment.new(params[:comment]) @comment.save

   Thats all..Modify the rest of your code like this..This is just an example

Sijo