2012-02-22 17 views
88

मैं ट्विटर की बूटस्ट्रैप सामान का उपयोग कर रहा साथ LINK_TO का उपयोग करना है और मैं निम्न HTML है:एम्बेडेड एचटीएमएल

<a class="btn" href="<%= user_path(@user) %>"><i class="icon-ok icon-white"></i> Do [email protected]</a> 

रेल में ऐसा करने का सबसे अच्छा तरीका क्या है? मैं <%= link_to 'Do it', user_path(@user) %> का उपयोग करना चाहता हूं लेकिन <i class="icon-ok icon-white"></i> मुझे फेंक रहा है?

+0

तो, क्या आप आइकन चाहते हैं या नहीं? –

उत्तर

225

दो तरीके। कोई एक:

<%= link_to user_path(@user) do %> 
    <i class="icon-ok icon-white"></i> Do [email protected] 
<% end %> 

या:

<%= link_to '<i class="icon-ok icon-white"></i> Do [email protected]'.html_safe, user_path(@user) %> 
+0

शायद यह ब्लॉक के साथ उदाहरण में '<% = link_to ... होना चाहिए? – Voldy

+0

यह निश्चित रूप से होना चाहिए। धन्यवाद! – Veraticus

+2

शायद दूसरे उदाहरण में आइकन के लिए स्ट्रिंग के बाद '.html_safe' गायब हो रहा है? –

7

आप रेल में एक लिंक का उपयोग करता है चहचहाना बूटस्ट्रैप से एक ही आइकन वर्ग तुम सब करने की जरूरत है कुछ इस तरह है कि चाहते हैं।

<%= link_to "Do [email protected]", user_path(@user), :class => "btn icon-ok icon-white" %> 
+2

@ पीटर Nixey नहीं, यह नहीं करता है, यह एक बटन की तरह दिखता है। यदि आप 'बीटीएन' कक्षा से निकलते हैं, तो आप जो भी देखते हैं वह आइकन है। बटन देखो का मतलब यह नहीं है कि यह एक बटन है। – Webdevotion

15

मुझे हाल ही में एक ही आवश्यकता थी। इस प्रयास करें:

<%= link_to '<i class="icon-ok icon-white"></i> Do it'.html_safe, user_path(@user) %>

1

मैं इस एक शॉट दे देंगे जब से तुम अभी तक
एक जवाब स्वीकार नहीं किया है और अन्य उत्तर 100% आप के लिए क्या देख रहे थे नहीं हैं।
इस तरह यह रेल तरीके से करना है।

<%= link_to(user_path(@user), :class => 'btn') do %> 
    <i class="icon-ok icon-white"> </i> Do it! 
<% end %> 

संपादित करें:
भविष्य में संदर्भ के लिए मेरा उत्तर छोड़ रहा है, लेकिन @ जस्टिन-Herrick जब
ट्विटर बूटस्ट्रैप के साथ काम सही जवाब है।

6

मणि चहचहाना-बूटस्ट्रैप रेल में: वे एक सहायक ग्लिफ़ बनाने

def glyph(*names) 
    content_tag :i, nil, :class => names.map{|name| "icon-#{name.to_s.gsub('_','-')}" } 
    end 

तो आप इसे पसंद का उपयोग कर सकते हैं: glyph(:twitter) और आप जैसे सहायक दिखाई दे सकता है लिंक: link_to glyph(:twitter), user_path(@user)

+0

यह अच्छा है लेकिन यह कई कक्षाओं या पाठ की अनुमति नहीं देता है। –

+0

आप टैग के लिए कई क्लोज़ को अनुमति दे सकते हैं ... सभी मामलों में, उपयोग के मामले कौन से होंगे? – eveevans

+1

यह एक ग्लिफ (फ़ॉन्ट विस्मयकारी) के साथ एक लिंक बनाने का एक शानदार तरीका है! अधिक कक्षाओं को जोड़ने के लिए '<% = link_to glyph (: टिप्पणियां), post_path (post),: class => "btn-small btn-warning"%> 'जैसे कुछ का उपयोग करें। यहां 'टिप्पणियां' फ़ॉन्ट विस्मयकारी चरित्र का नाम है, 'post_path (post) 'गंतव्य यूआरएल है और' वर्ग => 'दिखाता है कि ग्लिफ किस वर्ग का उपयोग करेगा। – Weston

2

मैं आपको लगता है यदि आप इसे अपने एप्लिकेशन में अक्सर इस्तेमाल करते हैं तो इसे एक सहायक विधि के माध्यम से सरल बना सकते हैं।

सहायक/application_helper.rb में रख

def show_link(link_text, link_source) 
    link_to("#{content_tag :i, nil, class: 'icon-ok icon-white'} #{link_text}".html_safe, 
    link_source, class: "btn") 
end 

तो यह आपके विचार फ़ाइल से फोन की तरह ही तितास मिलान के सुझाव के आधार पर

<%= show_link "Do it", user_path(@user) %> 
0

हेल्पर, लेकिन एक ब्लॉक का उपयोग LINK_TO:

def show_link(link_text, link_source) 
    link_to link_source, { class: 'btn' } do 
    "#{content_tag :i, nil, class: 'icon-ok icon-white'} #{link_text}".html_safe 
    end 
end 
5

HAML का उपयोग:

= link_to model_path do 
    %img{src: '/assets/someimg.png'} 
+0

इससे मेरी मदद की! धन्यवाद! –

1

आप बूटस्ट्रैप 3.2 उपयोग कर रहे हैं।0, आप अपने दृश्यों में अपने app/helpers/application_helper.rb

module ApplicationHelper 
    def glyph(*names) 
    content_tag :i, nil, :class => names.map{|name| "glyphicon glyphicon-#{name.to_s.gsub('_','-')}" } 
    end 
end 

में यह सहायक का उपयोग कर सकते हैं और फिर,:

link_to glyph(:pencil) + ' Edit', edit_post_path(@post), class: 'btn btn-warning' 
6

आप नीचे की तरह एक सहायक विधि बनाने के लिए संभावना है:

def link_fa_to(icon_name, text, link) 
    link_to content_tag(:i, text, :class => "fa fa-#{icon_name}"), link 
end 

अपनी आवश्यकताओं के लिए कक्षाओं को अनुकूलित करें।

0
def show_link (source, text) 
    link_to source, {'data-original-title' => 'Show', 'data-toggle' => 'tooltip', :class => 'btn btn-xs btn-success'} do 
    "#{text} #{content_tag :i, nil, class:' glyphicon glyphicon-eye-open' }".html_safe 
    end 
end 
संबंधित मुद्दे