Rails 드롭다운 select 조합 동작
개시하다
입력 형식과 검색 형식이 있는 화면을 만들 때 빠질 수 없는 하단식
아주 편리하고 사용이 편리하지만 요소가 많으면 한꺼번에 어렵지 않을까요?
이번에는 select의 옵션을 그룹으로 나누어 밑에 있는 메뉴에 색인을 추가하는 방법의 사용 방법을 설명합니다.
어떻게 된 거야?
말로 설명하기 힘들지...
먼저 보세요.
이것 괜찮아요?
이렇게
이루어지다
테이블 정의
이번 예는 teams
와 members
두 개의 탁자를 사용했다.
teams
id
name
1
선발대
2
거북이 팀
...
...
members
id
team_id
name
1
1
서주미보
2
1
무부 사직
...
...
...
팀버는 1대 다야.
모델
위 두 테이블의 모형을 준비하다.
team.rbclass Team < ApplicationRecord
has_many :members
end
member.rbclass Member < ApplicationRecord
end
팀에서 관계를 설정했습니다.
팀 대 멤버가 1대 많기 때문이다has_many
.
뷰
그럼, 여기는 본환입니다.
사용 방법은grouped_collection_select
이다.
http://railsdoc.com/references/grouped_collection_select <%= form_for @user, url: {action: 'update'} do |f| %>
<%= f.grouped_collection_select(:member_id, Team.all, :members, :name, :id, :name) %>
<% end %>
결실
쉽게 이루어질 수 있겠네요.대단해.<form action="/user/update" method="post">
<select name="test[member_id]">
<optgroup label="あんこうチーム">
<option value="1">西住 みほ</option>
<option value="2">武部 沙織</option>
<option value="3">五十鈴 華</option>
<option value="4">秋山 優花里</option>
<option value="5">冷泉 麻子</option>
</optgroup>
<optgroup label="カメさんチーム">
<option value="6">角谷 杏</option>
<option value="7">小山 柚子</option>
<option value="8">河嶋 桃</option>
</optgroup>
<optgroup label="アヒルさんチーム">
<option value="9">磯辺 典子</option>
<option value="10">近藤 妙子</option>
<option value="11">河西 忍</option>
<option value="12">佐々木 あけび</option>
</optgroup>
<optgroup label="カバさんチーム">
<option value="13">カエサル</option>
<option value="14">エルヴィン</option>
<option value="15">左衛門佐</option>
<option value="16">おりょう</option>
</optgroup>
<optgroup label="ウサギさんチーム">
<option value="17">澤 梓</option>
<option value="18">山郷 あゆみ</option>
<option value="19">丸山 紗希</option>
<option value="20">阪口 桂利奈</option>
<option value="21">宇津木 優季</option>
<option value="22">大野 あや</option>
</optgroup>
<optgroup label="カモさんチーム">
<option value="23">そど子</option>
<option value="24">ゴモヨ</option>
<option value="25">パゾ美</option>
</optgroup>
<optgroup label="レオポンさんチーム">
<option value="26">ナカジマ</option>
<option value="27">スズキ</option>
<option value="28">ホシノ</option>
<option value="29">ツチヤ</option>
</optgroup>
<optgroup label="アリクイさんチーム">
<option value="30">ねこにゃー</option>
<option value="31">ももがー</option>
<option value="32">ぴよたん</option>
</optgroup>
</select>
</form>
매개 변수의 보충
이것은 참조에서 매개변수를 지정하는 방법입니다.f.grouped_collection_select(プロパティ名, オブジェクトの配列, タグを取得するメソッド, タグのラベル, valueの項目, テキストの項目 [, オプション])
이해가 가요?당신은 Rails에 정통한 사람입니다!
초보자에게는 파라미터의 뜻을 이해하기 어려우니 설명해 주세요.
속성 이름
드롭다운 메뉴에서 선택한 값을 저장할 열의 이름입니다.
이번 예에서 저장할 때 users.member_id
하단 선택의 값이 추가됩니다.
객체 정렬
색인으로 표시할 요소의 배열입니다.
이번 예는 팀명을 색인으로 표시하려는 것이다Team.all
.
태그를 가져오는 방법
나는 이곳이 가장 이해하기 어렵다고 생각한다.꼬리표 같은 거.
한 마디로 하면, 색인 아래에 표시된 일반 option
을 가져오는 방법을 지정합니다.
주의해야 할 것은 이 방법은 대상을 대상으로 배열하는 방법이다.
이번 예는 Team.all
를 겨냥한 방법이다.
만약 Team.all
에서 관련member의 일람을 얻으면teams = Team.all
members = teams.members
그쵸?
따라서 이 매개 변수는 members
를 설정했다.
라벨
이것은 '대상 배열' 에서 교부된 대상의 열을 인덱스하는 매개 변수입니다.
이번 예에서는 teams.name
를 보여주고 싶어서 설정name
했다.
value 항목
이것은 '태그 획득 방법' 으로 얻은 대상의 어느 열이 option
인 value
인자입니다.
이번 예에서 members.id
를 value
로 설정하고 싶어서 설정id
했다.
텍스트 항목
이것은 "태그 획득 방법"으로 얻은 대상의 어느 열이 option
인 디스플레이 이름의 매개 변수입니다.
이번 예에서 members.name
를 value
로 설정하고 싶어서 설정name
했다.
끝말
의외로 사용하기 편하다.
한번 써보시는 건 어떨까요?(이미 쓰고 있나..)
즉 경기팀만'비사'가 없다는 것이다.
확실히 앙코르 팀은 들어본 적이 없군.
블로그에서 보고 싶은 사람이 여기 있다->Rails 드롭다운 select 조합 동작
Reference
이 문제에 관하여(Rails 드롭다운 select 조합 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ayies128/items/9d73136f8f3bb9f59b8c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
말로 설명하기 힘들지...
먼저 보세요.
이것 괜찮아요?
이렇게
이루어지다
테이블 정의
이번 예는 teams
와 members
두 개의 탁자를 사용했다.
teams
id
name
1
선발대
2
거북이 팀
...
...
members
id
team_id
name
1
1
서주미보
2
1
무부 사직
...
...
...
팀버는 1대 다야.
모델
위 두 테이블의 모형을 준비하다.
team.rbclass Team < ApplicationRecord
has_many :members
end
member.rbclass Member < ApplicationRecord
end
팀에서 관계를 설정했습니다.
팀 대 멤버가 1대 많기 때문이다has_many
.
뷰
그럼, 여기는 본환입니다.
사용 방법은grouped_collection_select
이다.
http://railsdoc.com/references/grouped_collection_select <%= form_for @user, url: {action: 'update'} do |f| %>
<%= f.grouped_collection_select(:member_id, Team.all, :members, :name, :id, :name) %>
<% end %>
결실
쉽게 이루어질 수 있겠네요.대단해.<form action="/user/update" method="post">
<select name="test[member_id]">
<optgroup label="あんこうチーム">
<option value="1">西住 みほ</option>
<option value="2">武部 沙織</option>
<option value="3">五十鈴 華</option>
<option value="4">秋山 優花里</option>
<option value="5">冷泉 麻子</option>
</optgroup>
<optgroup label="カメさんチーム">
<option value="6">角谷 杏</option>
<option value="7">小山 柚子</option>
<option value="8">河嶋 桃</option>
</optgroup>
<optgroup label="アヒルさんチーム">
<option value="9">磯辺 典子</option>
<option value="10">近藤 妙子</option>
<option value="11">河西 忍</option>
<option value="12">佐々木 あけび</option>
</optgroup>
<optgroup label="カバさんチーム">
<option value="13">カエサル</option>
<option value="14">エルヴィン</option>
<option value="15">左衛門佐</option>
<option value="16">おりょう</option>
</optgroup>
<optgroup label="ウサギさんチーム">
<option value="17">澤 梓</option>
<option value="18">山郷 あゆみ</option>
<option value="19">丸山 紗希</option>
<option value="20">阪口 桂利奈</option>
<option value="21">宇津木 優季</option>
<option value="22">大野 あや</option>
</optgroup>
<optgroup label="カモさんチーム">
<option value="23">そど子</option>
<option value="24">ゴモヨ</option>
<option value="25">パゾ美</option>
</optgroup>
<optgroup label="レオポンさんチーム">
<option value="26">ナカジマ</option>
<option value="27">スズキ</option>
<option value="28">ホシノ</option>
<option value="29">ツチヤ</option>
</optgroup>
<optgroup label="アリクイさんチーム">
<option value="30">ねこにゃー</option>
<option value="31">ももがー</option>
<option value="32">ぴよたん</option>
</optgroup>
</select>
</form>
매개 변수의 보충
이것은 참조에서 매개변수를 지정하는 방법입니다.f.grouped_collection_select(プロパティ名, オブジェクトの配列, タグを取得するメソッド, タグのラベル, valueの項目, テキストの項目 [, オプション])
이해가 가요?당신은 Rails에 정통한 사람입니다!
초보자에게는 파라미터의 뜻을 이해하기 어려우니 설명해 주세요.
속성 이름
드롭다운 메뉴에서 선택한 값을 저장할 열의 이름입니다.
이번 예에서 저장할 때 users.member_id
하단 선택의 값이 추가됩니다.
객체 정렬
색인으로 표시할 요소의 배열입니다.
이번 예는 팀명을 색인으로 표시하려는 것이다Team.all
.
태그를 가져오는 방법
나는 이곳이 가장 이해하기 어렵다고 생각한다.꼬리표 같은 거.
한 마디로 하면, 색인 아래에 표시된 일반 option
을 가져오는 방법을 지정합니다.
주의해야 할 것은 이 방법은 대상을 대상으로 배열하는 방법이다.
이번 예는 Team.all
를 겨냥한 방법이다.
만약 Team.all
에서 관련member의 일람을 얻으면teams = Team.all
members = teams.members
그쵸?
따라서 이 매개 변수는 members
를 설정했다.
라벨
이것은 '대상 배열' 에서 교부된 대상의 열을 인덱스하는 매개 변수입니다.
이번 예에서는 teams.name
를 보여주고 싶어서 설정name
했다.
value 항목
이것은 '태그 획득 방법' 으로 얻은 대상의 어느 열이 option
인 value
인자입니다.
이번 예에서 members.id
를 value
로 설정하고 싶어서 설정id
했다.
텍스트 항목
이것은 "태그 획득 방법"으로 얻은 대상의 어느 열이 option
인 디스플레이 이름의 매개 변수입니다.
이번 예에서 members.name
를 value
로 설정하고 싶어서 설정name
했다.
끝말
의외로 사용하기 편하다.
한번 써보시는 건 어떨까요?(이미 쓰고 있나..)
즉 경기팀만'비사'가 없다는 것이다.
확실히 앙코르 팀은 들어본 적이 없군.
블로그에서 보고 싶은 사람이 여기 있다->Rails 드롭다운 select 조합 동작
Reference
이 문제에 관하여(Rails 드롭다운 select 조합 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ayies128/items/9d73136f8f3bb9f59b8c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class Team < ApplicationRecord
has_many :members
end
class Member < ApplicationRecord
end
<%= form_for @user, url: {action: 'update'} do |f| %>
<%= f.grouped_collection_select(:member_id, Team.all, :members, :name, :id, :name) %>
<% end %>
<form action="/user/update" method="post">
<select name="test[member_id]">
<optgroup label="あんこうチーム">
<option value="1">西住 みほ</option>
<option value="2">武部 沙織</option>
<option value="3">五十鈴 華</option>
<option value="4">秋山 優花里</option>
<option value="5">冷泉 麻子</option>
</optgroup>
<optgroup label="カメさんチーム">
<option value="6">角谷 杏</option>
<option value="7">小山 柚子</option>
<option value="8">河嶋 桃</option>
</optgroup>
<optgroup label="アヒルさんチーム">
<option value="9">磯辺 典子</option>
<option value="10">近藤 妙子</option>
<option value="11">河西 忍</option>
<option value="12">佐々木 あけび</option>
</optgroup>
<optgroup label="カバさんチーム">
<option value="13">カエサル</option>
<option value="14">エルヴィン</option>
<option value="15">左衛門佐</option>
<option value="16">おりょう</option>
</optgroup>
<optgroup label="ウサギさんチーム">
<option value="17">澤 梓</option>
<option value="18">山郷 あゆみ</option>
<option value="19">丸山 紗希</option>
<option value="20">阪口 桂利奈</option>
<option value="21">宇津木 優季</option>
<option value="22">大野 あや</option>
</optgroup>
<optgroup label="カモさんチーム">
<option value="23">そど子</option>
<option value="24">ゴモヨ</option>
<option value="25">パゾ美</option>
</optgroup>
<optgroup label="レオポンさんチーム">
<option value="26">ナカジマ</option>
<option value="27">スズキ</option>
<option value="28">ホシノ</option>
<option value="29">ツチヤ</option>
</optgroup>
<optgroup label="アリクイさんチーム">
<option value="30">ねこにゃー</option>
<option value="31">ももがー</option>
<option value="32">ぴよたん</option>
</optgroup>
</select>
</form>
이것은 참조에서 매개변수를 지정하는 방법입니다.
f.grouped_collection_select(プロパティ名, オブジェクトの配列, タグを取得するメソッド, タグのラベル, valueの項目, テキストの項目 [, オプション])
이해가 가요?당신은 Rails에 정통한 사람입니다!초보자에게는 파라미터의 뜻을 이해하기 어려우니 설명해 주세요.
속성 이름
드롭다운 메뉴에서 선택한 값을 저장할 열의 이름입니다.
이번 예에서 저장할 때
users.member_id
하단 선택의 값이 추가됩니다.객체 정렬
색인으로 표시할 요소의 배열입니다.
이번 예는 팀명을 색인으로 표시하려는 것이다
Team.all
.태그를 가져오는 방법
나는 이곳이 가장 이해하기 어렵다고 생각한다.꼬리표 같은 거.
한 마디로 하면, 색인 아래에 표시된 일반
option
을 가져오는 방법을 지정합니다.주의해야 할 것은 이 방법은 대상을 대상으로 배열하는 방법이다.
이번 예는
Team.all
를 겨냥한 방법이다.만약
Team.all
에서 관련member의 일람을 얻으면teams = Team.all
members = teams.members
그쵸?따라서 이 매개 변수는
members
를 설정했다.라벨
이것은 '대상 배열' 에서 교부된 대상의 열을 인덱스하는 매개 변수입니다.
이번 예에서는
teams.name
를 보여주고 싶어서 설정name
했다.value 항목
이것은 '태그 획득 방법' 으로 얻은 대상의 어느 열이
option
인 value
인자입니다.이번 예에서
members.id
를 value
로 설정하고 싶어서 설정id
했다.텍스트 항목
이것은 "태그 획득 방법"으로 얻은 대상의 어느 열이
option
인 디스플레이 이름의 매개 변수입니다.이번 예에서
members.name
를 value
로 설정하고 싶어서 설정name
했다.끝말
의외로 사용하기 편하다.
한번 써보시는 건 어떨까요?(이미 쓰고 있나..)
즉 경기팀만'비사'가 없다는 것이다.
확실히 앙코르 팀은 들어본 적이 없군.
블로그에서 보고 싶은 사람이 여기 있다->Rails 드롭다운 select 조합 동작
Reference
이 문제에 관하여(Rails 드롭다운 select 조합 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ayies128/items/9d73136f8f3bb9f59b8c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Rails 드롭다운 select 조합 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ayies128/items/9d73136f8f3bb9f59b8c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)