Rails 4 常用函式以及一些細節筆記

天贏金創發表於2014-04-27

1.表單隱藏元素的使用

<%f.hidden_field :task_id, :value => task.id%>

2.cycle(first_value, *values)

# Alternate CSS classes for even and odd numbers...
 @items = [1,2,3,4]
 <table>
 <% @items.each do |item| %>
   <tr class="<%= cycle("odd", "even") -%>">
     <td>item</td>
   </tr>
 <% end %>
 </table>

3.image_tag生成image標籤
<%= image_tag(product.image_url, class: `list_image`) %>
會生成下面的程式碼
<img alt="Leishen" class="list_image" src="/assets/leishen.jpg">

4.truncate擷取字元

#`strip_tags`用於去html標籤
truncate(strip_tags(product.description), length: 80)

truncate("Once upon a time in a world far far away")
# => "Once upon a time in a world..."

truncate("Once upon a time in a world far far away", length: 17)
# => "Once upon a ti..."

truncate("Once upon a time in a world far far away", length: 17, separator: ` `)
# => "Once upon a..."

truncate("And they found that many people were sleeping better.", length: 25, omission: `... (continued)`)
# => "And they f... (continued)"

truncate("<p>Once upon a time in a world far far away</p>")
# => "<p>Once upon a time in a wo..."

truncate("Once upon a time in a world far far away") { link_to "Continue", "#" }
# => "Once upon a time in a wo...<a href="#">Continue</a>"

5.strip_tags(html)清除html標籤

strip_tags("Strip <i>these</i> tags!")
# => Strip these tags!

strip_tags("<b>Bold</b> no more!  <a href=`more.html`>See more here</a>...")
# => Bold no more!  See more here...

strip_tags("<div id=`top-bar`>Welcome to my website!</div>")
# => Welcome to my website!

6.sprintf格式化字串
sprintf("$%0.02f", 12)自動轉換成$12.00

7.時間轉換方法
product.updated_at.localtime.strftime(`%Y/%m/%d %H:%S`)

8.一般我們通過多對多關係獲取到的資料都是一個集合物件,我們需要通過使用to_a方法將其轉換成陣列
line_items.to_a.sum {|item| item.total_price}

相關文章