当我把一个*放在f.label里面时,它会让所有东西都变成小写.怎么避免呢?

Ton*_*aik 0 ruby label ruby-on-rails

我有这样写的代码: <%= f.label "*Position Title" %>.

我期望它输出,*Position Title但相反,如果*position title没有*的输出将Position Title用大写字母说.

为什么会发生这种情况,我将如何获得*Position Title呢?

vee*_*vee 5

尝试:

<%= f.label nil, "*Position Title" %>
Run Code Online (Sandbox Code Playgroud)

更新:

挖掘源代码后:FormHelper

to_label_tag方法调用method_name.humanize导致这种情况发生.所以它并不是真正的星号,它是造成这种情况的人性化方法.

以下示例应该让您清楚地了解人性化的作用.

> "*Position".humanize                
=> "*position" 

> "1Position".humanize
=> "1position" 

> "POSITION".humanize
=> "Position" 

> "aPosition".humanize 
=> "Aposition" 
Run Code Online (Sandbox Code Playgroud)