Rails – Helper


Được đăng vào ngày 16/11/2016 | 0 bình luận
Rails – Helper
5 (100%) 2 votes

Helper ở đây là các phương thức tiện ích mà chúng ta có thể gọi trong View (ERB).

Ví dụ

Chúng ta đã sử dụng các phương thức helper nhiều rồi, chẳng hạn như phương thức image_tag dùng để tạo thẻ <img>, phương thức sanitize dùng để loại bỏ kí tự lạ trong chuỗi…v.v.

Bây giờ chúng ta sửa file index.html.erb trong thư mục app/views/store như sau:

<% if notice %>
    <p id="notice"><%= notice %></p>
<% end %>
 
<h1>Product List</h1>
 
<% @products.each do |product| %>
    <div class="entry">
        <%= image_tag(product.image_url) %>
        <h3><%= product.title %></h3> 
        <%= sanitize(product.description) %>
        <div class="price_line">
            <span class="price"><%= number_to_currency(product.price) %></span>
        </div>
    </div>
<% end %>

Phương thức number_to_currency sẽ chuyển một số sang một chuỗi và chèn thêm kí tự định dạng tiền tệ vào trước. Mặc định là U.S. Dollars (ký tự $)

capture

Chúng ta có thể tùy chỉnh để hàm này hiển thị theo loại tiền tệ tùy thuộc vào người dùng truy cập từ đâu (chẳng hạn như hiển thị ‘đ’ nếu người dùng truy cập từ Việt Nam), chúng ta sẽ tìm hiểu chủ đề này sau.

Bạn có thể tìm hiểu các phương thức helper thường dùng tại đây:

http://guides.rubyonrails.org/action_view_overview.html







Trả lời


Lưu ý: bọc code trong cặp thẻ [code language="x"][/code] để highlight code.


Ví dụ:


[code language="cpp"]


    std::cout << "Hello world";


[/code]



Các ngôn ngữ được hỗ trợ gồm: actionscript3, bash, clojure, coldfusion, cpp, csharp, css, delphi, diff, erlang, fsharp, go, groovy, html, java, javafx, javascript, latex, matlab, objc, perl, php, powershell, python, r, ruby, scala, sql, text, vb, xml.

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *