def new
before_filter do
redirect_to "/" unless current_admin || current_company
flash[:notice] = 'You dont have enough permissions to be here' unless current_admin || current_company
end
CODE CODE CODE
end
def edit
before_filter do
redirect_to "/" unless current_admin.id = 5
flash[:notice] = 'You dont have enough permissions to be here' unless current_admin || current_company
end
CODE CODE CODE
end
Đây là mã mà tôi muốn làm, nhưng tôi không thể tìm ra cách làm đúng. Điều tôi muốn đạt được là áp dụng quy tắc before_filter cho mỗi hành động của mình. Vì vậy, có lẽ một người dùng có thể acces de INDEX hành động nhưng không phải là hành động EDIT vv Tôi biết rằng phương pháp before_filter chạy một thời gian duy nhất, và tôi không thể chạy 4 before_filters, tôi chỉ đưa ra một số tài liệu tham khảo vì tiếng anh nghèo của tôi.Rails before_filter cho các hành động cụ thể trong bộ điều khiển
Bạn phải biết rằng tôi đang sử dụng Devise cho các phương pháp current_admin và current_company. Tôi cần áp dụng các bộ lọc khác nhau (nếu quản trị viên hoặc nếu company.id = X) và các hành động khác.
Cảm ơn trước, tôi khá mắc kẹt ở đây. Mọi trợ giúp sẽ được đánh giá cao.
Thank you very much này là chính xác những gì tôi cần. –
Thành thật mà nói. Tôi không biết rằng cách của bạn cũng được chấp nhận. – Hauleth
Trong Rails 4+, sử dụng 'before_action' thay vì' before_filter'. –