2014-07-01 13 views
9

Tôi có dự án Rails sử dụng động cơ và tôi gặp sự cố khi làm việc ở chế độ phát triển.Đường ray: Không tải lại đường dẫn của động cơ đang phát triển

Bất cứ khi nào tôi thực hiện một số thay đổi đối với nội dung nào đó trong dự án của mình, ứng dụng không thể tìm thấy nữa lượt xem của công cụ.

Missing template spree/api/credit_card_types/index, spree/api/base/index with {:locale=>[:es], :formats=>[:json], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee, :rabl], :versions=>[:v1]}. Searched in: 
    * "/home/user/project/app/views" 
    * "/home/user/.rvm/gems/[email protected]/bundler/gems/spree-ebda3354180a/api/app/views" 

Thư mục gốc của trình xem gốc không xuất hiện trong đường dẫn tìm kiếm, nhưng tôi không hiểu tại sao. Bất kỳ ý tưởng?

routes.rb của tôi (lưu ý rằng tôi không gắn động cơ của tôi)

require 'resque/server' 

Project::Application.routes.draw do 

    resources :shipping_companies 

    get 'signin', to: 'signin#signin' 
    get 'register', to: 'register#register' 

    scope '/frontend/api', module: :api do 
    # ... 
    end 

    namespace :frontend do 
    end 

    Spree::Core::Engine.add_routes do 
    # ... 
    end 

    # Custom Admin 
    Spree::Core::Engine.add_routes do 
    # ... 
    end 

    get '/faq/' => 'pages#show', id: 'faq' 
    get '/privacy/' => 'pages#show', id: 'privacy' 
    get '/terms/' => 'pages#show', id: 'terms' 

    mount JasmineRails::Engine => '/specs' if defined?(JasmineRails) 
    mount Resque::Server.new, :at => '/resque' 
end 

Bộ điều khiển trong công cụ của tôi (trong app/controllers/spree/api/credit_card_types_controller.rb)

class Spree::Api::CreditCardTypesController < Spree::Api::BaseController 

    def index 
    @credit_card_types = SpreeDecidir::CreditCardType.all.select do |credit_card_type| 
     credit_card_type.installment_plans.present? 
    end.collect {|credit_card_type| SpreeDecidir::CreditCardTypePresenter.new credit_card_type} 
    @amount = params[:amount].to_f if params[:amount] 
    end 
end 

Và quan điểm RABL (tại app/views/spree/api/credit_card_types/index.v1.rabl)

object false 
node(:count) { @credit_card_types.count } 

child(@credit_card_types => :credit_card_types) do 
    extends "spree/api/credit_card_types/show" 
end 
+0

cấu hình gói cục bộ cho bạn. Tôi đã sử dụng nó một lần như thế này và nó làm mới. –

+0

Chúng tôi có cả hai vấn đề này bằng cách sử dụng động cơ như địa phương hay không. – geekazoid

Trả lời

1

RABL có phải là sự phụ thuộc của ứng dụng máy chủ hoặc của công cụ không? Nếu nó là sau này, hãy nhớ rằng nó là trách nhiệm của động cơ để tải phụ thuộc của nó. Đảm bảo require "rabl" trong đó.

Dường như RABL có một số vấn đề với động cơ ray: https://github.com/nesquena/rabl/wiki/Setup-rabl-with-rails-engines

0

Nếu không có thêm mã của bạn để căn cứ vào câu trả lời của tôi, tôi sẽ đoán tha bạn đang thiếu một trong hai điều sau:

1) Bạn đang thiếu chế độ xem (tức là api/app/views/index.html.erb)

2) Bạn đang bỏ lỡ chuyển hướng đến lượt xem của mình. Một nơi nào đó, một cái gì đó đang cố gắng để làm cho một hành động và nó không thể tìm thấy mẫu xem tương ứng (do đó thiếu mẫu lỗi).

Nếu bạn muốn có câu trả lời cụ thể hơn, tôi khuyên bạn nên đăng thêm mã của mình (nếu bạn không thể đăng mã, hãy xem xét đăng phiên bản đã được vệ sinh hoặc tạo bản trình bày đơn giản về những gì bạn đang làm).

+0

Đã cập nhật câu hỏi. – geekazoid

+0

1) Không bị thiếu chế độ xem, lần đầu tiên (không thay đổi bất kỳ thứ gì) Tôi khởi động máy chủ, chế độ xem hoạt động tốt. 2) Tôi nghĩ rằng vấn đề chạy theo hướng khác. Đường dẫn xem chỉ ra một điểm khác biệt sau khi tải lại ứng dụng do một số thay đổi mã. – geekazoid

+0

Bạn đang thay đổi gì khi nó bị hỏng? – jkeuhlen

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