Tôi viết một phương pháp helper Rails mà sẽ thêm wrapper html để khối nội dung bắt và thay thế phương pháp content_for, chẳng hạn nhưLàm thế nào để viết một helper trong Ruby on Rails để nắm bắt khối Haml?
- content_for :header do
//haml code
..would trở thành
- content :header do
//haml code
Để làm được điều này tôi sử dụng khối Haml và Ruby. Đây là hình thức trông giống như
def content(name,&block)
content_for name do
capture_haml do
haml_tag "div",{:id=>name.to_s} do
haml_tag "div",{:id=>"#{name.to_s}_group"} do
block
end
end
end
end
end
Nhưng tôi không thể làm việc này được. Không có thông báo lỗi. Nó chỉ không hiển thị các khối ở tất cả! Tôi không chắc mình đang làm gì sai. Tôi đánh giá cao ý kiến thứ hai.
Hai là thực sự chính xác tương đương trong hành vi. (Phiên bản '& block' có thể có hiệu suất cao hơn một chút, nhưng những ngày này giống nhau.) Khi @ nex3 chỉ ra, OP không gọi' yield', nhưng chỉ đơn giản trả về 'block' mà không gọi nó. – Peeja