2013-07-31 2 views
0

중첩 된 폼에 대한 railscast 튜토리얼을 따르고 있지만 코드가 꽤 오래된 것처럼 보입니다. 현대적인 테크닉을 사용하는 데 관심이 있습니다. 문제는 내가 응답을 추가하는 링크를 생성하고 싶다는 것입니다. javascript.This를 통해 새로운 텍스트 상자 (새 중첩 된 모델 인스턴스) 나는이 link_to_function을 대체하고 싶어하고이 코드레일에서 js로 데이터 전달하기

link_to name, '#', 'data-assoc' => "#{association}", 'data-fields' => "#{fields}", class: 'add-new' 

에 와서 add-new 클래스 JS에게 온 클릭 핸들러를 쓴 원래의 코드

def link_to_add_fields(name, f, association) 
    new_object = f.object.class.reflect_on_association(association).klass.new 
    fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder| 
     render(association.to_s.singularize + "_fields", :f => builder) 
    end 
    link_to_function(name, h("add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")")) 
    end 

입니다 , 그건 단순히 다 잡을거야. ta를 data-에서 가져 와서 html에 삽입하십시오. 그러나 html을 속성에 포함시키는 것은보기 흉한 것처럼 보입니다. html을 js로 전달하거나 HTML을 동적으로 추가하는 다른 접근 방식을 전달하는 더 좋은 방법이 있습니까?

답변

0

체크 아웃 Dynamically add fields in rails with out nested attributes 마지막 답변 저는 중첩 된 연결이 있지만 accepts_nested_attributes_for를 사용하기보다는 컨트롤러에서 연결을 처리했습니다. JS보다는 루비에서 로직을 다루기 때문에 (내가 더 편한 곳에서) 나는 이것을 좋아한다.

관련 문제