2014-01-07 1 views
0

현재 새 상태를 작성할 때 가져온 사용자 위치 (html5 javascript -> geocoder)를 상태 데이터베이스에 저장하는 앱의 상태를 작성할 수 있습니다. 이제 위치를 새 모델로 아웃소싱하고 내 상태 모델에서 위치를 연관 시키려고합니다. 예 : 상태 모델 : Content, Location_id .... 위치 모델 : Lat, Lng, Address. 내 문제는 상태 저장을위한 양식입니다. 나는 두 가지 형식을 하나로 사용할 것이다. 하나는 상태에 대한 것이고 다른 하나는 위치 저장을위한 양식입니다. 해당 위치에 올바른 location_id를 어떻게 연결합니까? location_id는 전체 상태를 저장 한 후에 만 ​​생성되기 때문에 아이디어가 있으십니까? 어쩌면 비동기적인 것들일까요? 나는이 문제를 해결하는 방법을 전혀 모른다. 당신의 상태 컨트롤러에서 D위치 기반 상태 작성시 외부 소스 지오 코더 위치

+0

그래서 문제는 상태에 속하는 위치 모델의 기록을 만드는 것입니다 Status 레코드를 만든 직후의 모델입니까? –

+0

상태 모델이없는 경우 실제 위치 및 상태 모델을 동시에 생성해야합니다. 또는 페이지를 만들 때 참조 모델을로드 할 위치 모델 생성시 생성 된 상태가 더 나은 해결책일까요? – user3079933

답변

0

: 난 정말 당신의 도움 :) 여러분 모두에게 새해 복 많이 받으세요 감사하겠습니다

class StatusController < ApplicationController 

    [..] 

    def create 
    @status = Status.new(params[:status]) 
    @location = Location.new(whatever parameters you want : nested params, or anything else) 
    status = @status.save 
    if status && @location.save 
     redirect_to @status, notice: 'Sucessfully created.' 
    elsif status 
     @status.destroy 
     redirect_to new_status_path, alert: 'Something went wrong with your location.' 
    else 
     redirect_to new_status_path, alert: 'Something went wrong' 
    end 

    end 

    [..] 

end