Tôi đã là một đứa trẻ hư và đã sử dụng cú pháp sau trong các mẫu một phần của mình để đặt các giá trị mặc định cho các biến cục bộ nếu một giá trị không được xác định rõ ràng trong hàm băm: cục bộ khi hiển thị một phần -
<% foo = default_value unless (defined? foo) %>
Điều này dường như hoạt động tốt cho đến gần đây, khi (không có lý do gì tôi có thể nhận ra) các biến không được thông qua bắt đầu hành xử như thể chúng được xác định là không (chứ không phải là không xác định).
Như đã được chỉ ra bởi những người hữu ích khác nhau trên SO, http://api.rubyonrails.org/groupes/ActionView/Base.html nói không sử dụng
defined? foo
và thay vào đó để sử dụng
local_assigns.has_key? :foo
Tôi đang cố gắng sửa đổi cách của mình, nhưng điều đó có nghĩa là thay đổi rất nhiều mẫu.
Tôi có thể / nên sạc trước và thực hiện thay đổi này trong tất cả các mẫu không? Có bất kỳ khó khăn tôi cần phải xem? Làm thế nào siêng năng tôi cần phải kiểm tra từng người?