2009-07-30 40 views
9

Tôi đang cố gắng lấy gốc của ứng dụng của mình để định tuyến đến bộ điều khiển mặc định. Từ những gì tôi đọc, điều này sẽ có thể có một cái gì đó như thế này ở dưới cùng của tập tin routes.rb của tôi:Ruby on Rails map.root dường như không hoạt động

map.root :controller => 'albums' 

hoặc thậm chí:

map.home '', :controller => 'albums' 

Tuy nhiên, khi tôi cố gắng hướng đến http://myhost:8000/, Tôi chỉ thấy trang chào mừng của đường ray. Tôi khởi động lại ứng dụng với các lệnh sau đây sau khi thực hiện thay đổi để routes.rb và trước khi thử nghiệm nó:

sudo mongrel_cluster_ctl restart 

Dưới đây là một số thông tin có thể thích hợp hơn môi trường:

% rails -v 
Rails 2.3.3 

% ruby -v 
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux] 

Tôi chắc chắn tôi m thiếu một cái gì đó đơn giản, nhưng tôi không thể nhìn thấy nó là gì. Bất kỳ ý tưởng?

Trả lời

16

Bạn đã xóa trang public/index.html tĩnh mà Rails tạo chưa? Nếu điều này vẫn còn trong ứng dụng của bạn, nó sẽ được hiển thị thay vì trang gốc mà bạn đã xác định trong các tuyến đường.

3
map.root :controller => 'albums' 

Cú pháp chính xác.

Một số điều cần thử:

  • xóa index.html từ công chúng.
  • Nhìn vào kết quả của "đường cào", bạn sẽ thấy một cái gì đó dọc theo dòng:
 
root /{:controller=>"albums", :action=>"index"} 
  • Bạn có chắc chắn 100% cụm đúng đang được khởi động lại: cố gắng chạy script/máy chủ và điều hướng để nhổ tận gốc trên cổng 3000
1

Tuyến đường vào cuối routes.rb là người cuối cùng để làm quen, do đó bạn có thể muốn thử với 'map.root...' ở trên cùng của routes.rb bạn

13

Xóa tệp công khai/index.html.

+0

Xin cảm ơn, tôi biết nó phải đơn giản! – pkaeding

0

Tôi đã gãi đầu trong một thời gian. Xóa tệp công khai/index.html đã làm trục trặc cho tôi. Cảm ơn!

0

Tôi gặp sự cố hơi khác. Tôi đã thiết lập một mục map.root và nó hoạt động với mongrel. Tuy nhiên khi tôi sử dụng apache2 như máy chủ web với mô-đun hành khách tôi nhận được một lỗi '500'. Nếu tôi tái instate /public/index.html của tôi thì nó hoạt động theo apache2.

Tôi đã cố gắng để đi trực tiếp như:

http: /// home/index

này cũng mang lại cho tôi những lỗi tương tự '500'.

Xin vui lòng ai đó có thể cho tôi biết tôi đang làm gì sai?

Hi

Tôi tìm thấy người khác có cùng vấn đề. Hóa ra là Hành khách đang chạy ở chế độ sản xuất trong khi ứng dụng của tôi đang ở chế độ phát triển.

Tôi đặt hành khách vào chế độ phát triển bằng cách thêm dòng sau vào máy chủ ảo của tôi nộp

RailsEnv = phát triển

: Khởi động lại Apache và hoạt động của nó !!

Phew!

Purvez

+2

Nếu bạn gặp sự cố mới, vui lòng đăng câu hỏi đó dưới dạng câu hỏi mới. Bạn có thể đặt câu hỏi mới bằng cách nhấp vào nút "Hỏi câu hỏi ở góc trên cùng bên phải của trang. Ngoài ra, nếu bạn tìm thấy câu trả lời cho câu hỏi (ngay cả khi đó là câu hỏi của riêng bạn, bạn có thể đăng câu hỏi đó làm câu trả lời , thay vì chỉnh sửa câu hỏi gốc của bạn. – pkaeding

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