0

ruby/rails/hobo アプリを移植しようとしています。dryml で「if」タグを使用するにはどうすればよいですか?

  <if:dist_image>
     <div>
       <a href="#{image.url}">
         <img src="#{image.url :thumbnail}" title="Click to enlarge"/>
       </a>
     </div>
  </if>

dist_image はオブジェクト (画像を含む) の場合もあれば、nil の場合もあります。何も機能していないようです。また、dryml の条件演算子に関するドキュメントが見つかりません。

エラーが発生します:

"undefined method `url' for "<img alt=\"Assets\" src=\"/assets/\">":ActionView::OutputBuffer"

更新: こんにちは、皆さん、提案をありがとう..私は次のすべてを試しました:

  <if test="&dist_image">
  <if test="&dist_image.blank?">
  <if test="dist_image.blank?">
  <if test="dist_image">

それらはすべて同じエラーを生成します。:(ドキュメントの構文に従いましたが、機能しません。

4

1 に答える 1

1

問題はifステートメントではなく、#{image.url}にあります。おそらく#{this.image.url}または#{this.url}などが必要です。 <if:dist_image>コンテキストをthis.dist_imageに設定するので、と同等になりthis = this.dist_imageます。

これを自分のやり方で呼び出すということは、オブジェクトからimage属性を取得するのではなく、「image」というヘルパーを呼び出すことを意味します。

ところで、おそらくのドキュメントを検索する必要はありません<if>。おそらく必要なのは、DRYMLガイドにもあるDRYMLコンテキストのドキュメントです。

于 2013-01-02T19:05:26.080 に答える