반응형
웹페이지를 만들면서 많이 사용하게 되는 드롭다운 리스트를 루비 온 레일즈에서는 아래와 같은 방법으로 많이 사용합니다.
collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})
포럼들을 여기 저기 에서 읽어 보다 보니 Collection_Select 에서의 onChnage 관련해서 질문이 많이 올라오길래 잠시 정리해 봅니다.
Collection_Select (출처: http://api.rubyonrails.org/ )
object : 현 모델의 객체입니다.
method : 현 모델에서 사용하는 함수나 테이블의 컬럼 이름 입니다.
collection : 드롭다운 리스트에 뿌릴 멤버를 들고 있는 컬렉션입니다.
value_method : 컬렉션의 멤버이자 option value 값입니다.
text_method : 컬렉션의 멤버이자 드롭다운 리스트에 보이는 글자 입니다.
options = {} : :prompt :include_blank 값을 넣습니다.
html options={} : 자바 스크립트나 html 옵션을 넣을 수 있습니다.
예) 아래 두개의 문장 모두 같은 결과를 냅니다.
1) <%= collection_select :productorigin_form, "national_id", @national, :id, :NationName, {:prompt => "Country Select"}, {:onchange=> "alert(id)"} %>
2) <%= productorigin_form.collection_select "national_id", @national, :id, :NationName, {:prompt => "Country Select"}, {:onchange=> "alert(id)"} %>
이렇게 하면 아래와 같은 html 이 만들어지며 나라를 선택할때 마다 "product_new_productorigin_attributes__national_id" 의 메세지 박스가 뜹니다.
collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})
포럼들을 여기 저기 에서 읽어 보다 보니 Collection_Select 에서의 onChnage 관련해서 질문이 많이 올라오길래 잠시 정리해 봅니다.
Collection_Select (출처: http://api.rubyonrails.org/ )
object : 현 모델의 객체입니다.
method : 현 모델에서 사용하는 함수나 테이블의 컬럼 이름 입니다.
collection : 드롭다운 리스트에 뿌릴 멤버를 들고 있는 컬렉션입니다.
value_method : 컬렉션의 멤버이자 option value 값입니다.
text_method : 컬렉션의 멤버이자 드롭다운 리스트에 보이는 글자 입니다.
options = {} : :prompt :include_blank 값을 넣습니다.
html options={} : 자바 스크립트나 html 옵션을 넣을 수 있습니다.
예) 아래 두개의 문장 모두 같은 결과를 냅니다.
1) <%= collection_select :productorigin_form, "national_id", @national, :id, :NationName, {:prompt => "Country Select"}, {:onchange=> "alert(id)"} %>
2) <%= productorigin_form.collection_select "national_id", @national, :id, :NationName, {:prompt => "Country Select"}, {:onchange=> "alert(id)"} %>
이렇게 하면 아래와 같은 html 이 만들어지며 나라를 선택할때 마다 "product_new_productorigin_attributes__national_id" 의 메세지 박스가 뜹니다.
<select id="product_new_productorigin_attributes__national_id"
name="product[new_productorigin_attributes][][national_id]" onchange="alert(id)">
<option value="">Country Select</option><option value="1">에티오피아</option>
<option value="2">케냐</option>
<option value="3">브라질</option>
<option value="4">콜럼비아</option>
<option value="5">과테말라</option>
<option value="6">멕시코</option>
<option value="7">페루</option></select>
반응형
'초짜 IT보이 서바이벌 스토리 > ruby on rails' 카테고리의 다른 글
루비온레일즈 (Ruby on Rails) Log 3 - 데이터 테이블 컬럼 변경 (0) | 2009.06.24 |
---|---|
루비온레일즈 (Ruby on Rails) 컬럼 타입 및 옵션 (0) | 2009.06.24 |
루비온레일즈 (Ruby on Rails) 2.3 http_authentication.rb 오류 (0) | 2009.06.22 |
루비온레일즈 (Ruby on Rails) - Log 2 (dynamic dropdown) (0) | 2009.06.08 |
루비온레일즈 (Ruby on Rails) - Log 1 (collection_select) (0) | 2009.06.01 |