ヘルパー経由でチェックボックスを出力する必要がある Rails プラグインを開発しています。startup_exchange_optin('user')
スキャフォールディングされた Users#index ビューにヘルパーを配置すると、チェックボックスが表示されます。それを新しいビュー、編集ビュー、表示ビューに配置すると、次のようになりますNoMethodError
。
undefined method `startup_exchange_optin' for #<User:0x0000010162c620>
によって呼び出されたファイルinit.rb
:
# lib/startup_exchange.rb
require 'startup_exchange/startup_exchange_helper'
module StartupExchange
end
ActiveSupport.on_load(:action_view) do
include StartupExchange::StartupExchangeHelper
end
ヘルパー:
# lib/startup_exchange/startup_exchange_helper.rb
module StartupExchange
module StartupExchangeHelper
def startup_exchange_optin(object_name, method = 'startup_exchange_optin', options = {}, checked_value = '1', unchecked_value = '0')
check_box(object_name, 'startup_exchange_optin', options, checked_value, unchecked_value)
end
end
end
プラグインは gem にはならないため、init.rb
. 最初に使用しようとしましRailtie
たが、初期化できませんでした。ActiveSupport.on_load
は、少なくともインデックス ビューで機能するようです。