Hey Guys. I''m very new with rails and I''ve been building a CMS application backend. All is going well, but I would like to know if this is possible? Basically I have two models: @page { id, name, number } @extended_page { id, page_id, description, image } The idea is that there are bunch of pages but NOT ALL pages have extended_content. In the event that there is a page with extended content then I want to be able to have a form that allows for editing both of them. In the controller: @page = Page.find(params[:id]) @extended= Extended.find(:first, :conditions => ["page_id ?",@page.id]) @combined = ... #merge the two somehow So in the view: <%- form_for @combined do |f| %> <%= f.label :name %> <%= f.text_field :name %> ... <%= f.label :description %> <%= f.text_field :description %> <% end > This way in the controller, there only has to be one model that will be updated (which will update to both). Is this possible? -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Tue, Jun 1, 2010 at 4:49 AM, Matias Niemela <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> Hey Guys. > > I''m very new with rails and I''ve been building a CMS application > backend. > > All is going well, but I would like to know if this is possible? > > Basically I have two models: > > @page { id, name, number } > > @extended_page { id, page_id, description, image } > > The idea is that there are bunch of pages but NOT ALL pages have > extended_content. In the event that there is a page with extended > content then I want to be able to have a form that allows for editing > both of them. > > In the controller: > > @page = Page.find(params[:id]) > @extended= Extended.find(:first, :conditions => ["page_id > ?",@page.id]) > @combined = ... #merge the two somehow > > So in the view: > > <%- form_for @combined do |f| %> > > <%= f.label :name %> > <%= f.text_field :name %> > > ... > > <%= f.label :description %> > <%= f.text_field :description %> > > <% end > > > This way in the controller, there only has to be one model that will be > updated (which will update to both). > > Is this possible?Yes it is ! First of all, you should use associations so that one Page has_many :extendeds (this is where you see that you should find a better name !). Then, you should check out this railscast: http://railscasts.com/episodes/196-nested-model-form-part-1 It explains exactly what you are trying to achieve. -- Gael Muller -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Awesome! Thank You! :) -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.