2009-08-21 25 views
7

Tôi có thanh bên sẽ có một số logic trong đó, tương tự như cách chế độ xem trao đổi với bộ điều khiển. Tôi đặt logic vào phần nào? Tôi có tạo bộ điều khiển mới cho bố cục và đặt nó trong đó không?ruby ​​trên đường ray logic cho một phần trong bố cục

Bố cục dành cho người dùng đã đăng nhập, như trang tổng quan. Trang tổng quan sẽ có thanh bên hiển thị cùng một nội dung động trên mỗi trang. Vì nó được hiển thị trên mỗi trang tôi muốn đặt nó một phần.

Tôi chỉ bối rối về vị trí đặt thông tin tìm kiếm và tất cả thông tin đó.

Trả lời

8

Có thể có cách tốt hơn để thực hiện việc này, nhưng nếu trên hầu hết hoặc tất cả các trang, bạn có thể tạo before_filter trên ApplicationController của mình. Bạn sẽ phải gọi skip_before_filter trên bộ điều khiển/hành động không cần dữ liệu.

class ApplicationController < ActionController::Base 
    before_filter :load_sidebar_data 

protected 
    def load_sidebar_data 

    end 
end 

Nếu bạn không cần nó trên hầu hết các trang bạn vẫn đặt phương thức trong ApplicationController, bạn chỉ cần thêm bộ lọc trước vào nơi bạn cần.

+0

Andy, bạn đã được một trợ giúp rất lớn đối với tôi hai ngày qua! Cảm ơn! – Ryan

+0

Tôi có một thanh bên giống nhau trên tất cả các trang ngoại trừ trang chủ và tôi đang sử dụng mã này lấy dữ liệu bắt buộc - bây giờ tôi tự hỏi đâu là địa điểm chính xác để đặt mã tập lệnh xem thực tế? – jackocnr

1

Đặt một phần vào thư mục bố cục. Tên của tệp phải bắt đầu bằng dấu gạch dưới Ví dụ: "_mypartial.html.erb".

Sau đó, trong quan điểm của bạn, sử dụng đoạn mã sau để bao gồm các phần

"mypartial" %>

Lưu ý rằng bạn không bao gồm dấu gạch chân trong các mã ruby ​​nhúng khi xác định mà một phần để render.

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