将类添加到自定义form_for标签

时间:2014-05-27 03:10:01

标签: ruby-on-rails ruby erb form-for

如何将自定义类添加到form_for else语句?

<%= form_for(@user) do |f| %>

      .
      .
      .
      <%= f.label :name, 
        if @user.errors[:name].blank?
          'Name'
        else
          'Name ' + @user.errors[:name].to_sentence
        end
      %>

我试过了:

else
  'Name ' + @user.errors[:name].to_sentence, class: "some_class"
end

也尝试过:

else
   'Name ' + @user.errors[:name].to_sentence, :class => "some_class"
end

但两者都会产生意外错误。

我只是自定义输入标签,以便在表单提交时显示验证错误,并希望更改文本颜色。

1 个答案:

答案 0 :(得分:2)

我猜你可以在一行中完成:

<%= f.label :name, (@user.errors[:name].blank? 'Name' : 'Name ' + @user.errors[:name].to_sentence) %>

然后:

<% if @user.errors[:name].blank? %>
  <%= f.label :name, 'Name' %>
<% else %>
  <%= f.label :name, 'Name ' + @user.errors[:name].to_sentence, :class => "some_class"  %>
<% end %>