このempty?
メソッドは nil クラスでは定義されていないためnil.empty?
、コンソールで試すと次のようになります。undefined method empty? for nil:NilClass
application_helper.rb でこのメソッドを作成しました。
def full_title(page_title)
base_title = "my app"
if page_title.empty?
base_title
else
"#{base_title} - #{page_title}".html_safe
end
end
私のアプリケーション レイアウトでは、次のようにタイトル タグで呼び出します。
!!!
%html
%head
%title #{full_title(yield(:title))}
...
...
%body
= yield
そして、各ビューで、provide(:title, "something")
このヘルパー メソッドに文字列を渡すために追加します。
しかし、使用しない場合は、page_title.empty?provide(:title, "something")
のようになります。true を返します!
私の質問は、なぜ page_title.empty なのですか? true を返します。を使用しない場合、page_title 変数は nil だと思いますがprovide(:title, "something")
、エラーは発生しませんか? 未定義などundefined method empty? for nil:NilClass