Ruby on Rails(3.0)(6.1.7)で.add_row do |row|の部分でnil can't be coerced into Floatエラーとなる #36
-
説明不足でしたすみません。
どこを確認すれば良いか、どのような確認が必要か、少しでも手掛かりが欲しいです。 class TestReport < BaseReport private attr_reader :test def template_name def build
end |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
デバックの結果page.list(:name_list).add_row do |row|のブロック内ではなく、page.list(:name_list).add_row do |row|自体に問題がありそうです。.tlfファイルのバージョンは0.12.0で、page.list(:name_list)の内部はそれが反映されています。ただし、かなりのコード量があるのでどこが問題を抱えているのかわかりません。 |
Beta Was this translation helpful? Give feedback.
-
.add_rowはリスト内の項目を演算(数えて)して行を追加するような処理なのでしょうか。 |
Beta Was this translation helpful? Give feedback.
-
解決しました。 そのため、page-footer heightがnilになり、下記gem内部 以下は.tlfファイル内部
|
Beta Was this translation helpful? Give feedback.
-
@kotoyukihana ご報告いただいた結果、.tlfファイルの「page-footer」と「footer」の部分に「height」プロパティが存在せず、それがエディタ上では表示されているにも関わらず、問題の原因となっているようです。そのため、gem内のpage_max_heightメソッドがnilの値に遭遇する可能性があります。 この問題を解決するためには、.tlfファイルに「page-footer」と「footer」の「height」プロパティを追加する必要があります。例えば以下のように修正します:
これらの修正を行うことで、「nil can't be coerced into Float」エラーが解消されるはずです。 ただし、提供された情報に基づいて、「height」プロパティの不足がエラーの原因であるという前提で指示をしています。もし問題が解決しない場合や、追加の詳細やエラーメッセージがある場合は、それらを提供していただければ、さらに具体的なサポートを提供できます。 役に立った場合は、これを回答としてマークしてください。 |
Beta Was this translation helpful? Give feedback.
@kotoyukihana
提供いただいたコードにおいて、エラーメッセージ「nil can't be coerced into Float(nilはFloatに変換できません)」が.add_rowのブロック内ではなく、.add_row自体に関連しているようです。.tlfファイルのバージョンは0.12.0であり、page.list(:name_list)の内部もそれに対応しているようです。しかし、コードベースが非常に大きいため、具体的な問題を特定することは難しいです。
ご報告いただいた結果、.tlfファイルの「page-footer」と「footer」の部分に「height」プロパティが存在せず、それがエディタ上では表示されているにも関わらず、問題の原因となっているようです。そのため、gem内のpage_max_heightメソッドがnilの値に遭遇する可能性があります。
この問題を解決するためには、.tlfファイルに「page-footer」と「footer」の「height」プロパティを追加する必要があります。例えば以下のように修正します: