Hi,
I am new to rails. Any support from your side would be very helpful.
I have a model called child and another model called childcategory. I
have given the code in app/views/children/show.html.erb of child.
<% remote_form_for [@child, Childcategory.new] do |f| %>
<p>
<%= f.label :body, " Allowed Categories " %> <br />
<% for category in @cat do %>
<%= check_box ''checkbox'', category.categoryname
%> <%category.categoryname %>
<% end %>
</p>
<p> <%= f.submit "Update Settings" %> </p>
<% end %>
NOw the check boxes are displayed from another model called
Filtercategory. When the user checks a check box in the above view, i
want the check box value to be inserted in a model called Childcategory.
The controller code is as follows.
app/controllers/childcategories_controller.rb
class ChildcategoriesController < ApplicationController
def create
@child = Child.find(params[:child_id])
@catlist = @child.childcategories.create!(params[:childcategory])
respond_to do |format|
format.html { redirect_to @child }
format.js
end
end
end
But when i submit the "Update Settings" button, a new record is
created
with childid but the category name in the check box is not saved in the
table.
Can you say whats the issue. I couldnt solve this.
Any suggestion would be really supportive.
--
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
-~----------~----~----~----~------~----~------~--~---
For starters look at how you are constructing your check_box tags. The way you have it written now the categories will not be contained inside the childcategory params. Something like this might get you headed in the right direction: <% for category in @categories %> <%= check_box_tag ''child_category[category_ids][]'', category.id %> < %= category.name %> <% end %> Then look at generated source for the check boxes and watch the params that get passed when you submit the form. A single check box is easy, a series of checkboxes that represent values stored in an association is much harder and will require some extra work in the view and possibly the model. Aaron --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Hi Aaron,
Thanks for your precious time.
I tried your suggestion too. I think i am doing some relationship
mistake between models. I am not sure whether i am doing it in the right
way. I will try to explain what i have done.
Kindly give me whether i am right or whether i am on the wrong way.
I have a models called Child.rb, Childcategory.rb and Filtercategory.rb
The relationships are as given below
class Child < ActiveRecord::Base
belongs_to :user
has_many :childcategories
has_many :timelimits
end
class Childcategory < ActiveRecord::Base
has_and_belongs_to_many :filtercategories
end
class Filtercategory < ActiveRecord::Base
end
NOw i have list of category names in Filtercategories table. I am
listing them using checkboxes in the child view and trying to write them
in Childcategories table if checked by the user.
i.e. app/views/children/show.html.erb
<% remote_form_for [@child, Childcategory.new] do |f| %>
<p>
<%= f.label :body, " Allowed Categories " %> <br />
<% for category in @cat %>
<%= check_box_tag ''child_category[category_ids][]'',
category.id %>
<%= category.categoryname %>
<% end %>
</p>
<p> <%= f.submit "Update Settings" %> </p>
<% end %>
The controller of Childcategories is as below.
class ChildcategoriesController < ApplicationController
def create
@child = Child.find(params[:child_id])
@catlist = @child.childcategories.create!(params[:childcategory])
respond_to do |format|
format.html { redirect_to @child }
format.js
end
end
end
Hence i have written the code in this manner. But the table is not
updated with categories checked by the user. Only childid is inserted
and new record is created without category name and id.
Kindly help me in this regard.It will be very supportive.
Thanks for any help,
Swarna
--
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
-~----------~----~----~----~------~----~------~--~---