1

我写了这个小助手方法:

def alert_color(name)
    if name == 'notice'
        return 'alert alert-dismissable alert-success'
    end
end

在我的应用程序布局中,我写道:

<% flash.each do |name, msg| %>
    <div class=<%= alert_color(name) %>>
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        <strong><%= name %></strong><%= msg %>
    </div>
<% end %> 

我的第一个问题是它无法正常工作,因为名称没有正确传递给 helper_method!

第二个问题是我尝试过:

alert_color('notice')

它返回了这个:

<div class="alert" alert-success="" alert-dismissable="">

我真的不知道如何改变这种行为!

而且,我正在以这种方式生成 Flash 消息:

notice: 'User was successfully updated.'
4

2 回答 2

2
<div class="<%= alert_color(name) %>">

此外,您还需要在帮助程序中将其他情况编码为“成功”。

def alert_color(name)
  color = name == 'notice' ? 'success' : 'alert'
  "alert alert-dismissable alert-#{color}"
end
于 2013-10-17T19:03:59.247 回答
0

尝试插值

class="#{alert_color(name)}"
于 2013-10-17T18:49:56.533 回答