2012-03-24 28 views
7

Tôi có vấn đề lẻ:không xác định biến cục bộ hoặc phương pháp 'new_media_path' - nguồn lực để tài nguyên

Sau khi khởi động máy chủ tôi đã nhận lỗi này:

undefined local variable or method `new_media_path' 

Để sửa chữa này tôi phải đi routes.rb và thay đổi

resources :media 

để

resource :media 

và một lần nữa để

resources :media 

Thật khó chịu. Bất kỳ ý tưởng để giải quyết điều này?

Trả lời

5

Bạn nên cố gắng new_medium_pathmedia là hình thức số nhiều của medium

Nếu bạn chạy rake routes bạn sẽ thấy tất cả các tuyến đường có sẵn.

+3

..hoặc thay đổi tuyến đường thành tài nguyên: phương tiện. Không phải tiếng Anh thích hợp, nhưng nó sẽ cung cấp cho bạn "phương tiện truyền thông" như singluar, nếu bạn thích – Shaun

3

Bạn cũng có thể thông báo cho đường ray về số nhiều thích hợp bằng cách sử dụng lớp Inflector. Nó xử lý hầu hết các công trình tốt, nhưng số nhiều không chuẩn như 'phương tiện' không phải lúc nào cũng được xác định trước. Để thêm riêng của bạn, chỉnh sửa config/initializers/inflections.rb, và thêm này ở cuối:

ActiveSupport::Inflector.inflections do |inflect| 
inflect.irregular 'medium', 'media' 
end 

này nên để cho Rails xử lý tất cả các công cụ số nhiều/ít - lưu ý này sẽ ảnh hưởng mà nó nghĩ rằng DB tên bảng sẽ được là tốt, vì vậy nó sẽ mong đợi các mô hình được loại vừa, và tên bảng sẽ phương tiện truyền thông

để bật nhiều và số ít để điều tương tự (tức là luôn luôn 'truyền thông'), sử dụng:

ActiveSupport::Inflector.inflections do |inflect| 
inflect.uncountable 'media' 
end 
Các vấn đề liên quan