2017-12-01 3 views
2

를 만들 그래서 나는 조금 주위에 해킹과 함께했다 다음 : 이제SimpleForm :</p> <pre><code># Slim template = f.association :requirement, as: :radio_buttons </code></pre> <p>나는 사용자가 라디오 버튼 위의 텍스트 필드를 사용하여 라디오 버튼을 필터링 할 수 싶어 : 나는과 같이 라디오 버튼의 컬렉션을 만들 수 있다는 사실을 알고 사용자 협회 모음 입력 방식

label for="filter" Filter 
input#filter type="text" 
= f.association :requirement, as: :radio_buttons 

나는 사용자 지정 컬렉션 입력 타입 사용하여 자동으로이 물건을 만들고 싶습니다

사용자 지정 입력을 만들려고했지만 작동하지 않았습니다.

# app/inputs/autocomplete_input.rb 
class AutocompleteInput < SimpleForm::Inputs::CollectionRadioButtonsInput 
    # ... 
end 

다음과 같은 오류이 리드 :

undefined method `collection_autocomplete' for #<SimpleForm::FormBuilder:0x007ffc1d90e9a0> 

하셨습니까

나는 다음과 같은 사용자 입력을 만들어? collection_select

나는 SimpleForm의 소스 코드에 약간의 주위를 검색 후, 나는 라디오 단추 컬렉션 입력을 찾을 것을 모방하려 :

Circular dependency detected while autoloading constant AutocompleteInput 
:이 오히려 이상한 오류

module SimpleForm 
    class FormBuilder 
    map_type :autocomplete, to: SimpleForm::Inputs::AutocompleteInput 
    end 
end 

하지만이 리드

이제 진행 방법을 모르겠습니다. 간단한 문자열 및 텍스트 영역 입력에 대한 사용자 정의 입력을 여러 개 만들었지 만 컬렉션을 통해 진행 방법을 알 수 없습니다.

+0

도움이 될지 모르겠지만이 정확한 문제를 다루는 [GitHub 페이지] (https://github.com/plataformatec/simple_form/issues/1497)에 공개 문제가있는 것 같습니다. . 어쩌면 거기에서 찾고있는 것을 끌어낼 수 있습니까? – jayands

+0

사용자 정의 입력을 만드는 방법에 대한 질문에 대한 답변을 원하거나 자동 완성 작동 방법을 알고 싶습니까? 왜냐하면 당신이 선택한 경로가 해결하려는 문제에 대한 올바른 해결책으로 보이지 않기 때문입니다. – murb

+0

동일한 문제가 있습니다. – Mateu

답변

0

문제는 collection_autocomplete 메소드를 호출

@builder.send(:"collection_#{input_type}", 
     attribute_name, collection, value_method, label_method, 
     input_options, merged_input_options, 
     &collection_block_for_nested_boolean_style 
    ) 

CollectionRadioButtonsInput

이 라인에서 온다.

내 솔루션 : CollectionRadioButtonsInput에서 확장하지 마십시오. 소스를 복사하고 수정하십시오. 깨끗하지는 않지만 작동 할 것입니다.

관련 문제