2013-02-21 27 views
7

Trong các tài liệu để sử dụng TestHelpers lập mưu nó khẳng định để sử dụng dây chuyền như ...lập mưu :: TestHelpers tài liệu rõ ràng trên Devise.mappings [: lập bản đồ] sử dụng

@request.env["devise.mapping"] = Devise.mappings[:admin] 

hoặc

@request.env["devise.mapping"] = Devise.mappings[:user] 

... để cho Devise biết tài nguyên hoặc ánh xạ nào cần sử dụng vì kiểm tra bộ điều khiển bỏ qua routes.rb. Tôi không rõ ràng về những ánh xạ này là gì. Tôi đã không thiết lập bất cứ điều gì đặc biệt trong lĩnh vực này, và tôi không có một bản đồ cụ thể trong tâm trí. Tôi có User, Admin, Refinery, và Superuser role, la Rolify, và tôi đang sử dụng Cancan cho khả năng của mình.

Bạn có thể làm rõ? ... có lẽ tên tài nguyên là ý của chúng ta?

TIA. -Matt

Trả lời

9

Vì chờ đợi câu trả lời, nghiên cứu của tôi dường như chỉ ra rằng ánh xạ được chỉ ra trong tài liệu thực sự đề cập đến tài nguyên mà Devise được đính kèm.

Sau đây là suy đoán về phía tôi, nhưng nó dường như hoạt động và nó đồng ý với việc quét mã của tôi. Ví dụ, nếu bạn chỉ có một nguồn tài nguyên được gọi là tài khoản bạn đã sử dụng lập mưu để xác thực, bạn sẽ chỉ cần sử dụng sau đây trong thiết lập bộ điều khiển spec của bạn:

@request.env["devise.mapping"] = Devise.mappings[:user] 

Tuy nhiên, nếu bạn có nhiều mô hình bạn xác thực chống lại, nói Người dùng và Quản trị viên, bạn sẽ cần phải sử dụng sau đây, tương ứng.

@request.env["devise.mapping"] = Devise.mappings[:user] 

@request.env["devise.mapping"] = Devise.mappings[:admin] 

Xin vui lòng cập nhật câu hỏi này/câu trả lời nếu bạn có đầu vào tốt hơn.

+0

Nên được đánh dấu là câu trả lời đúng; nó tuân theo các tài liệu. – jackyalcine

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