diff --git a/lib/kaminari/helpers/paginator.rb b/lib/kaminari/helpers/paginator.rb index a501b0d..2f829f8 100644 --- a/lib/kaminari/helpers/paginator.rb +++ b/lib/kaminari/helpers/paginator.rb @@ -106,6 +106,12 @@ module Kaminari end end + # delegates view helper methods to @template + def method_missing(name, *args, &block) + @template.respond_to?(name) ? @template.send(name, *args, &block) : super + end + private :method_missing + # Wraps a "page number" and provides some utility methods class PageProxy include Comparable diff --git a/spec/helpers/helpers_spec.rb b/spec/helpers/helpers_spec.rb index 559b237..ff6aa7a 100644 --- a/spec/helpers/helpers_spec.rb +++ b/spec/helpers/helpers_spec.rb @@ -8,10 +8,19 @@ describe 'Kaminari::Helpers::Paginator' do params { {} } options { {} } url_for {|h| "/foo?page=#{h[:page]}"} + link_to { "link" } end r end + describe "view helper methods delegated to template" do + before do + @paginator = Paginator.new(template, :params => {}) + end + subject { @paginator.link_to("link", "#") } + it { should == "link" } + end + describe '#params' do before do @paginator = Paginator.new(template, :params => {:controller => 'foo', :action => 'bar'})