2011-03-29 3 views
2

레일 form_tag 도우미에 의해 생성 된 <form> 태그에 영향을주지 않는 사용자 정의 스타일 시트를 사용하는 레일스 애플리케이션이 있습니다. 누군가가 CSS 스타일을 form_tag에 추가하는 방법을 보여주는 몇 가지 코드 나 예제를 가르쳐 줄 수 있습니까? 이 작업을 수행 할 수 .css 파일에레일 3의 form_tag에 CSS 스타일 추가하기

답변

5
<% form_tag {:controller => 'my_controller', :action => 'my_action'}, :id => 'my_id' do %> 

#my_id { 
/* your style */ 
} 
+2

또는 class :> 'my_class'를 모든 양식에 사용하십시오. –

-3

몇 가지 방법 :

form { 
    color: red; 
} 

이 모든 형태를 잡아하고 스타일을합니다.

#id { 
    color: red; 
} 

이렇게하면 ID와 일치하는 양식을 잡고 스타일을 지정합니다.

.class { 
    color: red; 
} 

이렇게하면 클래스와 일치하는 양식을 잡고 스타일을 지정합니다.

+0

그는 css에서 스타일을 지정하는 것이 아니라 form_for에 클래스 또는 ID를 추가하는 방법을 묻습니다. – methyl

0

form_for 도우미를 사용하면 전달한 첫 번째 인수는 url_for 도우미가 양식을 제출할 URL을 결정하는 데 독점적으로 사용됩니다. 해시 스타일의 인수는 Ruby에서 단일 인수 (해시)로 처리되므로 첫 번째 인수 (예 : form_tag(controller: 'my_controller', action: 'show'))로 옵션 집합을 전달하면 포함하는 추가 옵션 (예 : :method 또는 :class)은 다음과 같이 처리됩니다. 옵션을 form_for 대신 url_for으로 바꾸십시오. 원하는 것은 아닙니다.

이 문제를 해결하려면 첫 번째 인수로 해시를 form_tag에 명시 적으로 전달하고 다른 옵션 (예 : 스타일 속성에 사용할 클래스 속성)을 해시 외부에 넣을 수 있습니다. 그래서 같은 : form_for이 허용하는 옵션에 대한 자세한 내용은

.main-form { 
    // Style rules here 
} 

의 문서를 참조하십시오 : 당신이 다른 요소와 마찬가지로 그 후

<% form_tag {controller: 'my_controller', action: 'show'}, class: 'main-form' do %> 
    <!-- Form content here --> 
<% end %> 

, 당신은 양식 스타일을 CSS를 사용할 수 있습니다 form_for a nd url_for.