2012-07-26 6 views
0

데이터를 업데이트 할 때 어떤 종류의 쿼리를 받아 들여야하는지 궁금합니다. 내 모델은 클라이언트, 관심, 그리고 관리자다른 모델의 데이터 변경

Clients his has follow 
id 
name 
email 
password 

Interest 
id 
description 

manager 
customer_id 
interest_id 
created_at 

그의 관심에서 이전 데이터를 무시하지하지만 단지 새로운 관심을 추가하고 그것을 다스 려 유지 관리자의 목표로 구성되어 있습니다.

@client = Client.find(params[:id]) 
@manager = @client.manager.build(params[:manager]) 
@interest = @interest.manager.build(params[:interest]) 

이 메이크업 감각을합니까 : 이제

The relationship his has follow 
class Client < ActiveRecord::Base 
    has_many :music_interest_managers 
    has_many :music_interests, through => :music_interest_managers 
end 
class MusicInterest < ActiveRecord::Base 
    has_many :music_interest_managers 
    has_many :clients, through => :music_interest_managers 
end 
class MusicInterestManager < ActiveRecord::Base 
    belongs_to :music_interests 
    belongs_to :client 
end 

내가이 내가 생각하고 무엇을이 을 얼마나 잘 모르겠습니다 고객 컨트롤러에서 데이터를 업데이트하려면? 아니면 내가 잘못한거야?

업데이트 :

def update 
    @client = Client.find(params[:id]) 
    @interest = @client.music_interests.build(params[:interest]) 

    if @client.update_attributes(params[:client]) 
     flash[:success] = "Profile updated" 
     #sign_in @client 
     redirect_to @client 
    else 
     render 'edit' 
    end 
end 

또는 내가 그 변경 사항을 적용하기 관심에서 모델 뷰를 렌더링해야합니까?

답변

0
@client = Client.find(params[:id]) 
@interest = @client.music_interests.build(params[:interest]) 

- 콘솔에서 사용해보세요.

+0

적용 방법을 잘 모름 !! 어떻게 할 수 있는지 알려주도록 고객을 업데이트 했습니까? – Jseb

+0

내가 말한대로 - 레일 콘솔로 콘솔을 시작하고 단계가 원하는대로하고 있다면 시도해보십시오! – bento

관련 문제