Rails 3使用if语句显示具有不同样式的image_tag

时间:2011-06-21 16:07:29

标签: ruby-on-rails-3 coding-style

我正在尝试更改使用image_tag创建的图像的样式。以下是我目前的代码。

        <% if @user.image? %>
            <%= link_to image_tag(@user.image_url(:medium), :style => "width:717px;height:409px"),
                        @user.image_url(:medium1024), :rel => "facebox" %>

            <% else %>

            <%= image_tag 'i.jpg', :style => "width:717px;height:409px" %>
        <% end %>

我希望能够将:style => "width:717px;height:409px"更改为:style => "",具体取决于@user.machine是imac,macbookpro,pc还是笔记本电脑。

1 个答案:

答案 0 :(得分:1)

假设您已在控制器中设置了@ user.machine,我将使用image_tag根据machine的值创建一个类。如果我是你,我只会创建对应于@ user.machine值的css类,这样你就可以像这样链接它们:

<%= link_to image_tag(@user.image_url(:medium), :class => "#{@user.machine}") %>

这会像这样吐出HTML(取决于@ user.machine设置为:

<img class="macbookpro" src="imageurl" />