새 중첩 양식 요소를 추가할 때 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
네가 듣기에 배은망덕한 것은 아니다. 만약 내가 사람들에게 이런 인상을 주었다면 미안해!다른 사람들이 그것을 사용하고 있는 것을 보고 매우 기뻤습니다. 문서의 혼란에 대해 사과드립니다. (할 수 있는 대로)Reference
이 문제에 관하여(새 중첩 양식 요소를 추가할 때 DOM 대상을 지정할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/ryanb/nested_form/issues/235텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)