ActionView::Template::Error (undefined method `method_defined?' for #<Array:0x0000001a2be188>):

Post date: 2015/10/25 5:23:37

hobo 2.1.0 でsignupがエラーになるため、hobo2.2.3(+Rails4.2.4)にあげたところ上記のエラーがtable-plusで出るようになった。たとえば、以下のようなtable-plus記述:

<table-plus with="&@cell.instances.to_a" fields="&fields" >

https://groups.google.com/forum/#!topic/hobousers/iK1cWYANfDg

に関係ありそうな記述があり、確認したところ、確かに

gems/hobo_rapid-2.2.3/taglibs/plus/table_plus.drymlで、

<page-nav param if="&this.method_defined?(:page_count) || this.method_defined?(:total_pages)" merge-attrs="&ajax_attrs" />

を、

<page-nav param if="&this.respond_to?(:page_count) || this.respond_to?(:total_pages)" merge-attrs="&ajax_attrs" />

に戻すとエラーは出なくなる。これが原因であることは間違いないが、その後修正される気配はない。

【対策】以下のようにdrymlらしい記述に変えた:

<table-plus:instances fields="&fields">