2011-12-01 57 views
5

Điều tôi muốn làm là có 2 bộ điều khiển, máy khách và test_client khác nhau. Trình điều khiển máy khách đã được xây dựng và tôi muốn tạo một bộ điều khiển test_client mà tôi có thể sử dụng để chơi xung quanh với giao diện người dùng của máy khách và điều chỉnh nó khi cần thiết. Tôi chủ yếu là cố gắng để có được xung quanh xác nhận tôi đã xây dựng vào khách hàng và sự phụ thuộc của nó trên một bộ điều khiển quản trị tải dữ liệu.Hiển thị chế độ xem của bộ điều khiển khác

vì vậy tôi muốn bộ điều khiển test_client tải bộ dữ liệu mẫu và sau đó hiển thị chế độ xem chỉ mục của trình điều khiển máy khách để tôi có thể điều chỉnh giao diện người dùng của khách hàng. Đó là tất cả.

Tôi cố gắng này trong phương pháp test_clients index:

class TestClient 
    def index 
     render :template => 'client/index' 
    end 
end 

nhưng tôi nhận được một lỗi bởi vì nó không thể tìm thấy partials khách hàng vì nó đang tìm kiếm trong các bộ điều khiển hiện tại xem cho họ ...

Vì vậy, tôi đã xem xét điều này và hầu hết mọi người nói rằng bạn không bao giờ nên thực hiện cuộc gọi như vậy nhưng tôi nghĩ rằng trường hợp này là một cách sử dụng hợp lý ... Tôi chỉ cần tìm ra cách để làm cho nó hoạt động.

+0

Bạn đang sử dụng git? Bởi vì đây là một trường hợp sử dụng tốt cho các nhánh git IMHO. – lucapette

+0

Tôi đang thực sự sử dụng svn nhưng đó là một ý tưởng tốt. Tôi có thể thử điều đó trong dự án tiếp theo của mình. – german129

Trả lời

6

Bạn sẽ cần điều chỉnh chế độ xem của mình để đường dẫn đến phần bạn cần có dạng 'controller/partial'. Trong trường hợp này có thể là 'client/partial'. Sau đó, bạn có thể chỉ cần sử dụng render 'client/index' như trước đây.

Vì vậy, nói ở đâu đó trong cái nhìn của bạn, bạn có điều này:

<%= render :partial => 'info' %> 

Bạn sẽ muốn thay đổi nó như thế này:

<%= render :partial => 'client/info' %> 
+0

giải pháp này làm việc tốt mặc dù tôi không phải là một fan hâm mộ lớn của việc có bộ điều khiển cứng mã hóa trong đó nó sẽ không có hiệu lực bất cứ điều gì cho tôi trừ khi tôi đổi tên bộ điều khiển. – german129

+1

Nếu đây là một phần được sử dụng trong nhiều bộ điều khiển, tôi thường đặt chúng trong 'app/views/shared', sau đó bạn làm' render: partial => 'shared/info'' hoặc một cái gì đó tương tự. Có thể muốn đặt tên cho nó tốt hơn sau đó. – Mario

0

Bạn có thể làm điều này theo nhiều cách và mọi người khác nhau. Một cách bạn có thể làm điều đó, là đặt người tìm của bạn vào một người trình bày. Sau đó, chuyển một số dữ liệu trong chế độ xem chỉ mục thành một phần hoặc bạn có thể hiển thị mẫu có bố cục được đặt thành false.

Sau đó, trong chế độ xem client_test, bạn có thể hiển thị chỉ mục đó với người trình bày được liên kết với nó.

2

Chuyển đổi quan điểm điều khiển khách hàng của bạn để partials, tạo ra quan điểm trống cho tất cả các hành động trong bộ điều khiển test_client, kết xuất các partials của khách hàng cho các khung nhìn test_client tương ứng.

Ví dụ:
xem khách hàng
index.html.erb để _index.html.erb

xem test_client
index.html.erb
theo quan điểm này, <% = render: một phần = > 'clients/index',: locals => {}%>

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