2

私は現在Railsプロジェクトに取り組んでおり、次のようにLayarAPIで使用するjson_builderを使用してビューを構築しています。

layer "Layer name"
errorString "ok"
errorCode 0
hotspots @inspections do |inspection|
    id inspection.slug
    anchor do
        geolocation do
            lat inspection.lat
            lon inspection.lng
        end
    end
    text do
        title inspection.name
        description "#{inspection.rating} out of 5"
        imageURL "http://my-url.com/assets/rating#{inspection.rating}.png"
    end
end

ただし、このビューをブラウザーにロードするtitleと、JSONの一部が表示されません。私はこれをlayout_helperファイル内のヘルパーメソッド(nifty-generatorsを使用しています)に絞り込むことができました。これも。という名前titleです。このヘルパーは必要ないので、clear_helpersこの特定のコントローラーアクションのみを実行する方法はありますか?それとも、これを行うためのより良い方法がありますか?(おそらくお分かりのように、私はRailsにかなり慣れていません!)

4

2 に答える 2

1

理論的には、コントローラーで次のことができるはずです。

class SomethingController < ApplicationController
  helper :layout, :except => :show # Or whatever action you want to skip here

編集:

したがって、すべての同様のメソッドとは異なり、Railsはヘルパーメソッドでそれをサポートしていないようです。残念ながら、アクションごとにロードされるヘルパーを変更する方法は実際にはないようです。私がいじっているアイデアの1つは、コントローラーアクションごとに特定のヘルパーの登録を強制的に解除することですが、それはきれいではありません。

関連するAPIドキュメント:http ://api.rubyonrails.org/classes/AbstractController/Helpers/ClassMethods.html

于 2012-06-07T10:35:27.893 に答える
0

問題のあるヘルパーメソッドの名前pagetitleを変更して、ビューを変更することになりました。最も単純なソリューションが最も簡単な場合もあります。

于 2012-06-07T11:13:12.567 に答える