up vote
down votefavorite
http://stackoverflow.com/questions/35296344/add-properties-to-a-list-rails4#
Property has many lists. List has many properties. Users can add
properties
to a list , here user must be owner of those properties which he want to
add.
Here is my code:
class List < ActiveRecord::Base
has_many :propertyships
has_many :properties, :through => :propertyshipsend
class Propertyship < ActiveRecord::Base
belongs_to :list
belongs_to :propertyend
class Property < ActiveRecord::Base
has_many :propertyships
has_many :lists, :through => :propertyshipsend
in view:
<%= simple_form_for(@list, url: add_property_list_path, :method =>
:put) do |f| %>
<%= f.collection_check_boxes(:property_ids, @user_all_properties,
:id, :street_address) %>
<%= f.submit “Add Property” %><% end %>
in routes:
resources :lists do
member do
put ‘add_property’
end
end
in controller:
def add_property
@list = List.find(params[:id])
@list.update_attributes(list_params)
end
private
def list_params
params.require(:list).permit(:name, :user_id, property_ids: [])
end
when I checked properties and I click “Add property” button as other
user ,
its add checked properties but remove old properties that I have in that
particular list. what a I doing wrong??