mok*_*gio 4 forms markup ruby-on-rails devise twitter-bootstrap
我正在研究Rails 3.1应用程序的前端部分.我们使用Twitter Bootstrap作为CSS框架,Devise作为身份验证管理器,使用I18n gem进行本地化.
这是带有标签的复选框的设计语法
<%= f.label :remember_me %>
<%= f.check_box :remember_me %>
Run Code Online (Sandbox Code Playgroud)
这当然是生成的HTML
<label for="user_remember_me">Ricordati di me</label>
<input name="user[remember_me]" type="hidden" value="0">
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
Run Code Online (Sandbox Code Playgroud)
由于Bootstrap为标签添加了此规则display: block,因此标签和复选框不在同一行中.要拥有相同的行,我需要像这样的HTML输出
<label for="user_remember_me">
Ricordati di me
<input name="user[remember_me]" type="hidden" value="0">
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
</label>
Run Code Online (Sandbox Code Playgroud)
您会注意到标签文本是意大利语,为Devised提供本地化的团队成员努力工作以了解如何执行此操作,并且我不想强迫他再次使用它来引入新的本地化字符串.
我知道这个FormBuidler label方法接受一个块作为参数的好事实,所以我能做到
<% f.label :remeber_me do %>
<%= f.check_box :remember_me %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但是,这产生的HTML输出whitout的标签!具体来说,这就是我得到的:
<input name="user[remember_me]" type="hidden" value="0">
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
Run Code Online (Sandbox Code Playgroud)
我试图在源代码看,该f.label方法调用的label方法,但我只可以看到,如果有一个块没有文本将被打印和标签和块将被呈现label_tag的template_object.
在深入挖掘源代码和无睡眠之夜之前,我决定等一下,向StackOverflow的生活社区寻求帮助.
我错过了什么吗?我f.label用错误的方式打电话给我?有些参数丢失了吗?
谢谢!!
小智 5
我不知道你是否有这个工作......
在Rails 3.2.6上运行这是我必须做的:
<%= f.label :remember_me do %>
<%= f.check_box :remember_me %>
Remember Me?
<% end %>
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助你,因为我来到这里寻找完全相同的问题的答案,除了通过反复试验找不到它.
| 归档时间: |
|
| 查看次数: |
1478 次 |
| 最近记录: |