새 중첩 양식 요소를 추가할 때 DOM 대상을 지정할 수 있습니다.

4606 단어 nested_form

묘사

이러한 변경 사항은 링크 이전에 삽입하지 않고 중첩된 양식 요소를 DOM 요소에 추가할 수 있습니다.이것은 TABLE, UL, OL 또는 add_to_link와 부모 요소를 공유하지 않는 다른 요소에 추가할 때 매우 유용하다.
사용 예:
%table
  %thead
    %th
      %td Ingredient
      %td Quantity
      %td Unit
      %td  
  %tbody#ingredients
    =f.fields_for :recipes_ingredients, wrapper: false do |i|
      %tr.fields
        %td= i.input :ingredient_id, label: false, collection: Ingredient.order(:name)
        %td= i.input :quantity, label: false
        %td= i.input :unit_id, label: false, collection: Unit.order(:name)
        %td= i.link_to_remove 'Remove'
%p= f.link_to_add 'Add Ingredient', :recipes_ingredients, target: 'ingredients'

토론 #1

그리고 분명히 말하자면, this solution는 나의 상황에 대해 실행할 수 없다. 왜냐하면 모든 끼워 넣는 형식의 행위가 똑같다고 가정하기 때문이다.나는 더 활기찬 것이 필요하다. 이것이 바로 내가 :target 옵션을 추가한 이유이다.

토론 #2

나는 네가 지적한 세 가지 일을 이미 해결했다고 생각한다.합치면 괜찮아 보여요?너는 나로 하여금 나의 약속을 납작하게 하려고 하느냐?

토론 #셋

자술한 파일을 업데이트할 수 있습니까?

토론 #4

네, 제출을 줄이려고 했습니다. 제출 수량을 줄이는 것이 아니라 더 많은 제출을 늘렸을 뿐입니다.계속 방법을 생각할 거야...

토론 #5

@mhugginsthis가 당신에게 도움이 될 것 같습니다

토론 #6

. 알겠습니다.감사합니다!

토론 #7

감사합니다!

토론 #8

감사합니다!

토론 #9

문제 없어요. 다른 분들도 도와주셔서 기쁩니다!미소: 다음 번호의 버전이 언제인지는 확실하지 않지만, 적어도 마스터에서.

토론 #10

: +1:+1 발표.오늘 나는 데이터 target이 왜 작동하지 않는지 몇 분 동안 생각했다. (왜냐하면 이것은 현재 자술 파일에 나타나기 때문이다.)위대한 작업 @mhuggins

토론 #11

이 기능이 발표되었습니까?

토론 #12

이걸 해봤는데 효과가 없어요.@mhuggins가 이 게시물 앞에서 한 것처럼 한 줄 한 줄 시도해 보겠습니다.하지만 운이 없었다.이것은 내 코드입니다.
     %table.table.table-bordered
        %thead
          %th
            %td Description
            %td Quantity
            %td Rate
            %td  
        %tbody#line-items
          = f.fields_for :invoice_line_items, :wrapper => false do |line_item|
            %tr.fields
              %td= line_item.text_field :description, label: false
              %td= line_item.text_field :quantity, :class => "input-mini", label: false
              %td= line_item.text_field :rate, :class => "input-mini", label: false
              %td= line_item.link_to_remove "X"
      %p= f.link_to_add "Add", :invoice_line_items, target: "line_items"
링크를 다음과 같이 추가하려고 시도했습니다.
%p= f.link_to_add "Add", :invoice_line_items, :data => { :target => "#line-items" }

토론 #13

@mberman84는 자술한 내용을 고려하여 다음과 같이 변경해야 할 수 있습니다.
%p= f.link_to_add "Add", :invoice_line_items, data: { target: "#line-items" }

토론 #14

@mberman84 나는 네가 이미 이 변체를 시도한 것을 보지 못했지만, 나는 여전히 그것이 잘 일할 수 있을 것이라고 생각한다.

토론 #15

@gem의 최신 버전(/=require jquery nested form)에 첨부된 js 파일은 이전 버전의 insertFields를 가지고 있기 때문에 target이 작동하지 않습니다. 이것은 시간이 오래 걸려서 알 수 있습니다.그래서 나는 어쩔 수 없이 이것을 나의 신청서에 썼다.js 파일:
$(function ($) {
  window.NestedFormEvents.prototype.insertFields = function(content, assoc, link) {
    var target = $(link).data('target');
    if (target) {
      return $(content).appendTo($(target));
    } else {
      return $(content).insertBefore(link);
    }
  };
});

토론 #16

@mberman84 - 이 변경 사항은 현재 마스터에서만 진행되므로 버전화된gem가 아닌 이 변경 사항을 사용하십시오.

토론 #17

@mhuggins에서 나는 아직 좀 새로운 것 같지만, 문서에서 이 기능의 해석을 보았을 때, 나는 그것이 버전화된gem에 있다고 생각한다.) 메인 버전을 얻지 않으면 사용할 수 없다는 것을 주의하고 싶을 수도 있다.

토론 #18

@mberman84 - 버전 제어에 대한 제어권이 없습니다. 이 버전이 발표된 후에 저는 받아들인 인출 요청만 제출했습니다.이 게시물에서 다른 댓글을 보면 다른 사람들도 같은 질문을 한 것을 볼 수 있다.재구매 소유자나 협력자가 이 내용을 포함하는 새로운 버전을 발표합니다.

토론 #19

@mhuggins 죄송합니다. 배은망덕하게 들려드릴 뜻은 없습니다.이 기능은 정말 훌륭하다. 나는 단지 그것이 왜 작용하지 않는지 알고 싶을 뿐이다.

토론 #20

네가 듣기에 배은망덕한 것은 아니다. 만약 내가 사람들에게 이런 인상을 주었다면 미안해!다른 사람들이 그것을 사용하고 있는 것을 보고 매우 기뻤습니다. 문서의 혼란에 대해 사과드립니다. (할 수 있는 대로)

좋은 웹페이지 즐겨찾기