2012-06-13 31 views
5

Nếu tôi viết một cái gì đó như:Tại sao sử dụng cả <% và <% = trong các chế độ xem?

<% if signed_in?.blank? %> hoặc <%= link_to "Sign Up", sign_up_path %>

sự khác biệt giữa hai dấu hiệu <%<%= là gì?

Tại sao làm theo cách này thay vì chỉ sử dụng một để đơn giản?

Khi nào tôi biết mình cần sử dụng <% qua <%=?

+2

Nếu không quá muộn, hãy chọn HAML: http://haml.info/docs/yardoc/file.HAML_REFERENCE.html hoặc Slim: http://slim-lang.com/docs.html. Cả hai đều có đá quý 'xxx-rails' để thay thế ERb trong các máy phát. – jdoe

+2

Một số người thực sự thích ERB. Mặc dù đáng để kiểm tra HAML và Slim, chúng không phải khách quan tốt hơn. – MrTheWalrus

Trả lời

1

<% %> Đơn giản chỉ cần thực hiện báo cáo kết quả (s) bên trong khối, trong khi <%= %> chí đầu ra là kết quả của báo cáo kết quả.

Ví dụ: với <% if signed_in?.blank? %>, trình thông dịch ruby ​​chỉ thực thi mã đó và kiểm tra xem signed_in có để trống không.

Tuyên bố <%= link_to %> thực sự sẽ tạo HTML.

Các vấn đề liên quan