2012-01-30 2 views
0

사용자와 범주간에 새로운 HABTM 관계를 저장하려고합니다.레일 2 : 새로운 HABTM 관계 저장

내 사용자 모델 :

class User < ActiveRecord::Base 
    has_and_belongs_to_many :categories 
end 

내 카테고리 모델 :

class Category < ActiveRecord::Base 
    has_and_belongs_to_many :users 
end 

내가 조인 테이블이 올바르게 설정했습니다. 문제는 사용자보기에서만 사용자 컨트롤러에서 아무 것도 변경할 수 없다는 것입니다. 따라서, 사용자보기에하는 collection_select있다 :

<%= f.collection_select :category_ids, Category.all, :id, :title, 
    { :selected => @user.category_ids }, 
    { :multiple => true, :name => 'user[category_ids][]' } 
-%> 

내가 correclty 내 사용자가 속한 범주를 선택할 수는 있지만 제출을 클릭하면 다른 모든 속성에 업데이트되지 않습니다 범주를 제외하고 저장 조인 테이블

"user"=>{"category_ids"=>["2", "4"] 

하지만 엉망으로 허용되지 않아 이후는 사용자의 컨트롤러에 그것으로 아무것도 할 수 없습니다 :

나는 PARAMS을 검사하는 경우, 나는 category_ids가 제대로 전달되는 것을 볼 수 있습니다 코드와 함께. 자동으로 조인 테이블을 업데이트 할 수 있습니까, 아니면 수동으로 업데이트해야합니까?

PS - 실제로 Redmine 용 플러그인을 작성하기 때문에 사용자 컨트롤러가 엉망입니다.

감사합니다.

답변

0

메신저도 RoR에 초보자 구입 방법에 대한 : 또한

<% for category in Category.find(:all) %> 
    <%= check_box_tag "user[categories_ids][]", category.id, @user.categories.include(category) %> 
    <%= category.title %> 
<% end %> 

, 당신의 attr_accessible이 모두있는 경우 한 번 확인.