2016-10-06 8 views
2

정수형 변수에 값을 저장하는 것에 대한 질문이 있습니다. 다른 변수를 같은 변수에 저장할 수 있습니까? 이것이 제 문제입니다. 많은 ID를 저장하기 위해 collection_select를 사용하고 싶습니다. 내 코드는 실제로 다음과 같이 하나 개의 변수를 위해 노력하고 있습니다 :정수형 변수에 값 저장

내 코드 :

사용자 모델 :

has_many :pins 
    scope :artist, -> { where(artist: true) } 

핀 모델 :

belongs_to :user 

핀 컨트롤러 :

def new 
    @pin = Pin.new 
    @users = User.all.artist 
    end 

    def create 
    @pin = current_user.pins.build(pin_params) 
    if @pin.save 
     redirect_to @pin, notice: "successfully created!" 
    else 
     render 'new' 
    end 
    end 
나는 나의 새로운 뷰에 대한 그런 일을하고 싶은

<div class="form-group"> 
    <%= f.collection_select(:pin_maker, @users, :id, :pseudo) %> 
    </div> 

:

핀/새 (전망)

<div class="form-group"> 
    <%= f.collection_select(:pin_maker, @users, :id, :pseudo, { }, {:multiple => true}) %> 
    </div> 

그러나 변수는 내 SQL 테이블에 저장되지 않습니다. 내 질문은 : 그 정수 (pin_maker) 같은 변수에 많은 ID를 저장할 수 있습니까? 아니면 내가 새 테이블을 만들어야합니까?

+0

'즉, 같은 변수 (많은 ID를 저장하는 것이 가능하다 : pin_maker) 정수입니까? => no –

답변

0

해보십시오 has_many : 사용자는 사용자가

+0

Nope 젠장, 작동하지 않아요. – tutoto

2

pin_maker 당신의 협회 참여하는? 그렇다면 : (IMO) : n-to-n 연관과 users_pins 테이블이 필요합니다. 레일에

Logic: 
One user has many pins 
One pin may be made by many users 

:

모델 사용자 :

has_many pins, :through => :users_pins 

모델 핀 :

has_many users, :through => :users_pins