codestyle
홈
태그
방명록
code
드롭 다운 방법
codestyles
2020. 10. 26. 07:59
반응형
드롭 다운 방법
레일 형태의 필드?
저는 scaffold를 만들고 있습니다-rails g scaffold Contact email : string email_provider : string하지만 이메일 공급자가 텍스트 필드가 아닌 드롭 다운 (gmail / yahoo / msn 옵션 포함)이되기를 원합니다.
어떻게 할 수 있습니까?
Rails 문서를 살펴볼 수 있습니다.
어쨌든, 당신의 형식으로 : <% = f.collection_select : provider_id, Provider.order (: name) ,: id, : name, include_blank : true %> 짐작할 수 있듯이, 다른 모델에서 이메일 제공자를 미리 정의해야합니다 -Provider , 선택할 위치를 지정합니다.
또는 사용자 지정 옵션의 경우 <% = f.select : desired_attribute, [ 'option1', 'option2'] %> 연락처 컨트롤러-app / controllers / contacts_controller.erb에 @providers = Provider.all.by_name 추가 새로운 생성 및 편집 방법,
공급자 모델에서 by_name에 대한 범위 사용-app / models / provider.rb-이름 별 순서 지정 범위 by_name order (: name) 그런 다음보기에서-app / views / contacts / _form.html.erb-사용 <% = f.collection_select : provider_id, @providers, : id, : name, include_blank : true %> Rails 양식의 경우 simple_form-https://github.com/plataformatec/과 같은 양식 작성기를 살펴볼 것을 강력히 권장합니다. simple_form-모든 무거운 작업을 수행합니다.
이것은 먼 길이지만 아직 구현하지 않은 경우 원래 이러한 방식으로 모델을 만들 수 있습니다.
아래 방법은 기존 데이터베이스 변경을 설명합니다.
1) 이메일 제공 업체를위한 새 모델을 만듭니다. $ rails g 모델 제공 업체 이름 2) 이름 문자열과 타임 스탬프를 사용하여 모델을 만듭니다.
또한 다음을 사용하여 스키마에 추가해야하는 마이그레이션을 생성합니다.
<div class = "field"> <% = f.label : provider %> <br> <% = f.collection_select : provider_id, Provider.all, : id, : name %> </ div> 10) 마지막으로 제공자 자체를 추가해야합니다.
한 가지 방법은 시드 파일을 사용하는 것입니다. Provider.destroy_all gmail = Provider.create! (name : "gmail") yahoo = Provider.create! (name : "yahoo") msn = Provider.create! (name : "msn") $ rake db : seed 여기를보세요. rails 태그를 사용하거나 일반 HTML 태그를 사용할 수 있습니다. Rails 태그 <% = select ( "Contact", "email_provider", 연락처 :: PROVIDERS, {: include_blank = > true}) %> * 코드 줄 위는 HTML 코드 (HTML 태그)가됩니다. 아래에서 찾으십시오. * HTML 태그 <select name = "Contact [email_provider]"> <option> </ option> <
option> yahoo </ option> <option> gmail </ option> <option> msn </ option> </ select> 모델에서 Contact self.email_providers = % w [Gmail Yahoo MSN] 클래스는 다음을 확인합니다. : email_provider, : inclusion => email_providers end 양식에서 <% = f.select : email_provider, options_for_select (Contact.email_providers, @ contact.email_provider) %> options_for_select의 두 번째 인수에는 현재 email_provider가 선택됩니다.
<% = f.select : email_provider, [ "gmail", "yahoo", "msn"] %> 아티클 및 카테고리에 대해 has_many 연결을 사용하는 Rails 드롭 다운 : has_many : articles belongs_to : category <% = form.select : category_id, Category.all.pluck (: name, : id), {prompt : 'select'}, {class : "form-control"} %> 참고 URL : https : // stackoverflow.
반응형
공유하기
게시글 관리
codestyle
'
code
' 카테고리의 다른 글
Express에서 루트 후 선택적 매개 변수로 경로 제어를 전달합니까?
(0)
2020.10.26
Get-ChildItem 재귀 수준 제한
(0)
2020.10.26
뒤로 버튼과 같은 버튼을 사용하여 현재 조각을 닫는 방법은 무엇입니까?
(0)
2020.10.25
셔플 된 연속 정수 배열에서 중복 요소를 찾는 방법은 무엇입니까?
(0)
2020.10.25
CSS 기능 / 기능 감지를 사용하여 IE11 감지
(0)
2020.10.25
티스토리툴바