5

私はRABLが本当に好きですが、ビューフォルダが.rablファイルで乱雑になるようです。私は本当に理想的には別のAPIviewsディレクトリを持ちたいので、次のようになります。

app/
    views/
        customers/
            index.html.erb
            show.html.erb
            ......
        api/
            v1/
                customers/
                    index.json.rabl
                    show.json.rabl

これを達成するための最良の方法は何ですか?私はこのチュートリアルを使用しています:

http://railscasts.com/episodes/350-rest-api-versioning

バージョン管理を設定しますが、RABLをサポートしていません。私はこれを試しましたapp/controllers/api/v1/customers_controller.rb

module Api
    module V1
        class CustomersController < ApplicationController
            respond_to :json

            def index
                @customers = Customer.search(params[:page])

                Rabl::Renderer.json(@customers, 'api/v1/customers/index')
            end
        end
    end
end

しかし、予想通り、それはうまくいかなかったようです。

4

2 に答える 2

5

同じ問題がありました。そして、これをRABL初期化子に追加することで解決しました

# config/initializers/rabl_init.rb
require 'rabl'
Rabl.configure do |config|
    config.view_paths = [Rails.root.join('app', 'views')]
end

この行を捨てたい場合はRabl::Renderer.json(@customers, 'api/v1/customers/index')、設定をに変更してconfig.view_paths = [Rails.root.join('app', 'views', 'api', 'v1')]ください。コントローラでは、自動的にリンクします。

お役に立てれば

于 2013-05-18T14:32:26.950 に答える
0

私が見ることができることから、これはうまくいくはずです。私はほとんど同じことをしています。どのようなエラーが発生していますか?

于 2013-01-28T17:14:08.573 に答える