Ruby on Rails 循环

发布于 2024-11-27 12:01:14 字数 227 浏览 0 评论 0原文

我想在 Rails 中创建以下循环:

If value<=5 
display image1.gif value.times && display image2.gif (5-value).times

我试图将其添加到我的视图中,但是有没有办法可以将其转换为方法?如果我将其设为辅助方法,我将如何放置图像标签?

预先感谢您的任何帮助。

I want to create the following loop in rails:

If value<=5 
display image1.gif value.times && display image2.gif (5-value).times

I was trying to add this to my View, but is there a way I can convert it into a method? How would I put the image tags if I where to make it a helper method?

Thanks in advance for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

伴我老 2024-12-04 12:01:14
def show_starts(value)
  if value <= 5 
    image_tag("image1.gif")*value + image_tag("image2.gif")*(5-value)
  end
end
def show_starts(value)
  if value <= 5 
    image_tag("image1.gif")*value + image_tag("image2.gif")*(5-value)
  end
end
北恋 2024-12-04 12:01:14

如果我理解你在寻找什么,这应该可行。

将其放入辅助文件中:

def image_helper(value, image1, image2)
  html = ''

  if value <= 5
    value.times { html += image_tag(image) }
    (5 - value).times { html += image_tag(image2) }
  end

  html.html_safe
end

然后从您的视图中调用它,如下所示:

image_helper(value, 'image1.gif', 'image2.gif')

This should work if I'm understanding what you're looking for.

Put this in a helper file:

def image_helper(value, image1, image2)
  html = ''

  if value <= 5
    value.times { html += image_tag(image) }
    (5 - value).times { html += image_tag(image2) }
  end

  html.html_safe
end

Then call it from your view like like:

image_helper(value, 'image1.gif', 'image2.gif')
妞丶爷亲个 2024-12-04 12:01:14

(适用于星级评定系统)
让它像这样工作:

def display_stars content_tag :span, :class => 'stars' do
  current_admin_rating.times do 
    concat(image_tag("image1.gif";, :size => "30x30", :class => "gold")) 
  end 

  (5-current_admin_rating).times do 
    concat(image_tag("image2.gif";, :size => "30x30", :class => "gold")) 
  end 
  nil 
end 

(For star rating system)
Got it working like this:

def display_stars content_tag :span, :class => 'stars' do
  current_admin_rating.times do 
    concat(image_tag("image1.gif";, :size => "30x30", :class => "gold")) 
  end 

  (5-current_admin_rating).times do 
    concat(image_tag("image2.gif";, :size => "30x30", :class => "gold")) 
  end 
  nil 
end 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文