2012-06-26 5 views
0

나는 Rails 3.2.3 형식에서 다음과 같은 collection_select 논리를 사용하여 상태를 선택하고 이름순으로 정렬합니다.collection_select를 사용하여 레코드를 선택하고 CSS를 사용하여 포맷팅하기

<%= collection_select(:user, :state_id, State.order('name'), :id, :name) %> 

ID가 국가 모델에있는 국가 모델이 있습니다. 내 사용자 모델에 country_id 및 state_id가 있습니다. 사용자가 국가 및 주에 속합니다. 많은 사용자가 있고 많은 주를 보유하고 있습니다. 국가는 국가에 속합니다.

특정 국가에 대해서만 주를 선택하고 싶습니다. User 모델의 country_id와 State 모델의 country_id를 일치시키고 싶습니다. State.where ('something;). order ('name ')을 사용하려고 생각했습니다. 그러나 나는 이것을 위해 SQL을 어떻게 코딩 할 것인지 모른다. PostgreSQL 데이터베이스를 사용하고 있습니다. 내가 찾은 예제는 다른 데이터베이스를위한 것입니다.

두 번째 질문은 목록의 모양과 관련이 있습니다. 내 웹 사이트의 입력 필드와 일치하도록 글꼴 색상과 함께 배경색을 변경하고 싶습니다. 다음 코드를 시도했지만 작동시키지 못했습니다.

<%= collection_select(:user, :state_id, State.order('name'), :id, :name, {:class=>'collection-select-class'}) %> 

내 CSS 코드는 다음과 같습니다

.collection-select-class { 
    background-color: #333333; 
    color: @yellow; 
} 

은 또한 옵션 태그를 사용하여 시도했지만 아무것도 변경하지 않았다.

도움을 주시면 감사하겠습니다.

답변

0

: 한마디로

https://stackoverflow.com/a/1947675

을 수행해야 빈 해시 {}를 추가하여 작동하게하십시오. 따라서 다음과 같이됩니다 :

<%= collection_select(:user, :state_id, State.order('name'), :id, :name, {}, {:class=>'collection-select-class'}) %> 

희망이 있습니다.