2013-03-12 2 views
3

을 button_to. 나는 다음을 시도했지만 버튼에 아이콘을 삽입하는 방법을 알아낼 수 없습니다 :[포함 글꼴 멋진 아이콘은 내가 다음과 같이 버튼을하고 싶은

%i.icon-facebook-sign 

을 내가 달성하려면 어떻게 :

여기
= button_to "Login with", user_omniauth_authorize_path(:facebook) 

일반적으로 (HAML에서) 호출 방법 font-awesome입니다 내가 원하는 효과?

감사합니다. button_to 도우미에 대한

답변

4

클래스 추가 옵션

= button_to "Login with", user_omniauth_authorize_path(:facebook), :class => 'icon-facebook-sign' 
+0

감사 프롬프트 응답을 많이. 나는이 일을 할 수 없었다. 답을 약간 넓힐 수 있습니까? button_to 클래스 옵션을 정확히 추가 할 수 있는지 알고 싶습니다.이 변경 후에 위의 호출이 작동하는 이유는 무엇입니까? 다시 한번 감사드립니다. – AdamNYC

+0

더 나은 설명 http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to – ranendra

+0

button_to 메서드를 재정의 할 것을 제안했다고 생각했습니다. 나는 당신의 모범을 시도했으나 효과가 없었습니다. 아이콘이 나타나지 않습니다. 클래스와 함께 이미지 태그가 필요하기 때문에 텍스트가 "로그인"한 줄에 있어야합니다. – AdamNYC

4

할 수 있습니다 pass a block과 같이 button_to에 :

= button_to user_omniauth_authorize_path(:facebook) do 
    Login with 
    %i.icon-facebook-sign 

(난 당신이 바로 페이스 북 아이콘 자체를 사용하지 왜 모르겠어요하지만

0

단추 태그를 사용하지만 출력을 사용자 지정하는 도우미 메서드를 만들 수 있습니다.

#application_helper.rb 

def button_to_with_icon(text, path, classes) 
    form_tag path, :method => :post do 
    button_tag(classes) do 
     raw text 
    end 
    end 
end 

다음 인수로 내장 된 원시 HTML을 헬퍼 메소드를 호출

<%= button_to_with_icon("login with <i class='fa fa-facebook-official'></i>", { action: "omniauth_authorize", controller: "users" }, class: "btn btn-info") %> 

액션, 컨트롤러, 및 클래스 설정 그냥 예입니다. 하지만 당신의 필요에 맞게 수정할 수 있다고 생각합니다.

0

여기에 나를 위해 작동 내가 만든 도우미입니다 :

def html_button_to(html = nil, options = nil, html_options = nil) 
    button_to(options, html_options) do 
    html 
    end 
end 

font-awesome-rails gem과 결합, 그것은 당신이 수행 할 수 있습니다

html_button_to fa_icon(:facebook, text: "Login with"), user_omniauth_authorize_path(:facebook)