7

問題

三項演算を実行するヘルパー メソッドがあります。結果オペランドは両方とも image_tag メソッドです。ビューからこのヘルパーを呼び出すと、":size" オプションが html の高さと幅のタグに変換されません。いずれかの image_tag メソッドをビュー ファイルに直接コピー アンド ペーストすると、すべて正常に動作します。

application_helper.rb

def display_portrait(candidate)
  if candidate.portrait_url
    image_tag(candidate.portrait_url.to_s, :size => "10x10")
  else
    image_tag("missing_portrait.png", :size => "10x10")
  end
end

view.html.erb

<%= display_portrait candidate %> DOES NOT GENERATE HEIGHT AND WITH ATTR'S

<%= image_tag("missing_portrait.png", :size => "10x10") %> DOES GENERATE ATTR'S

ヘルパーは正しいソースでアンカーを生成します。高さと幅の属性のみが欠けています。

お時間を割いていただき、ありがとうございます。

マイケル

4

3 に答える 3

0

書き込みによる最初のチェックは、条件が何であるかをチェックする場合、ポートレートメソッドを表示するステートメントを入れます

このメソッドのパラメータに入っています。

ビューでもこれを行うことができます

   <%= image_tag(@image.portrait.url(:thumb):alt => "Description") %>

それがあなたを助けることを願っています......

于 2012-05-08T15:25:13.340 に答える
0

application_helper.rb

def display_portrait(candidate)
  if candidate == 1
    image_tag(candidate, :size => "10x10")
  else
    image_tag("missing_portrait.png", :size => "10x10")
  end
end

new.html.erb

この見方では、

<%= display_portrait 1 %>

生成し、

<img alt="1" height="10" src="/assets/1" width="10" />

<%= display_portrait 0 %>

生成し、

<img alt="Missing_portrait" height="10" src="/assets/missing_portrait.png" width="10" />

If 条件に問題があるはずです。

于 2012-05-08T16:29:31.907 に答える
0

あなたがIE <9を気にしない限り、私があなただったとしても、私は「サイズ」を使用しません。スタイルプロパティを使用したいと思います。

PS: 特にこの問題については、 width: と height: を使用して、何かが変わるかどうかを確認します。Rails の一部のヘルパーは、呼び出される場所によって動作が異なることを知っています。

于 2014-02-11T22:07:56.537 に答える