<%= debug(controller)%>は読み取り不能な出力を生成します

debugging ruby ruby-on-rails
<%= debug(controller)%>は読み取り不能な出力を生成します

テンプレートの1つで、debug()ヘルパーを使用してコントローラーオブジェクトを詳しく調べたいと思います。

HTML出力に適したYAMLを生成すると言われています。

ただし、<%= debug(controller)%>を実行しても、読み取り可能なものは何も生成されません。

次で始まる:

#

そしてそのように続きます…​

オブジェクトに関する情報を取得する方法に関するアイデアはありますか?

  0  0


ベストアンサー

debug`ヘルパーは主に、 to_yaml`の実装を提供するオブジェクト(ActiveRecordモデルなど)で使用することを目的としています。 渡されたオブジェクトが to_yaml`に応答しない場合(例のコントローラーオブジェクトを渡す場合のように)、 debug`はそのオブジェクトで `inspect`を呼び出した結果を返します。

2


あなたのコメント@thenduksの回答を見ました。

実際にはメソッドがあります:

controller.controller_name

コントローラーの名前を返します。

1


それについて何が読めないのですか? これは標準のルビー検査構文です…​ 「もっと読みやすい」ものが本当に必要な場合は、コントローラー上で(一時的に、ほとんどの場合)インスタンス変数を別の形式で公開するメソッドを記述する必要があります。

おそらく、コントローラインスタンスで表示したい内容を書き留めておくと役立つでしょう。

0


タイトルとURLをコピーしました