안녕하세요, Rails 멍청한 놈이 아니지만 이것이 나를 곤란하게 만들었습니다. With에는 Rails에 많은 연관성이 있습니다. 나는 와인리스트에 와인리스트에 와인을 할당 할 때 이런 식으로 테이블을 보냅니다.has_many : 대량 협회에서 협회의 메타 데이터를 날려 버림으로써
class WineBarController
def update
@winebar = WineBar.find(params[:id])
@winebar.wines = Wine.find(params[:wine_bar][:wine_ids].split(",")) // Mass assign wines.
render (@winebar.update_attributes(params[:wine_bar]) ? :update_success : :update_failure)
end
end
이렇게하면 해당 와인 바와 관련된 모든 와인리스트 행이 삭제됩니다. 그런 다음 wine_ids의 모든 와인을 찾습니다. 와인 ID는 쉼표로 구분 된 문자열입니다. 그런 다음 winelist에 새 연결을 삽입합니다. 비싸지 만 파괴 된 협회 행에 유리와 병당 개별 와인 바 가격과 같은 메타 데이터가없는 경우에는 문제가되지 않습니다.
모든 것을 날려 버리지 않고 배열을 열거 할 수있는 비교를 수행하고 변경 사항을 삽입하는 방법이 있습니까? 레일스처럼 뭔가있는 것 같아요. 나는 분명히 뭔가 빠져 있습니다.
감사합니다.
답장을 보내 주셔서 감사하지만 작동하지 않습니다. wine_ids 필드는 중첩 된 형식이 아닙니다. 그것은 문자열입니다. 내 UI가 중첩 된 양식 규칙과 잘 맞지 않습니다. 내 예를 업데이트로 업데이트했습니다. 이런. 와인 ID를 쿼리 한 다음 와인 바에 연결하기위한 추가 단계가 필요합니다. –
안녕하세요. 로렌스 - 대답을 업데이트했습니다. 도움이되는지 알려주세요. –