vsy*_*ync 37 ruby-on-rails simple-form ruby-on-rails-3.1
当我将'Required'属性添加
到html输入字段时,Rails会在标签之前预先添加星号(*).
有谁知道如何防止这种情况?
出于某种原因,Rails转换了这个:
<%= f.input :Company, :input_html => {:value => "", :id => "company_name"}, :label => "company name" %>
Run Code Online (Sandbox Code Playgroud)
进入这个:
<div class="input string required">
<label for="company_name" class="string required">
<abbr title="required">*</abbr> company name</label>
<input type="text" value="" size="50" required="required" name="lead[Company]" id="company_name" class="string required">
</div>
Run Code Online (Sandbox Code Playgroud)
我不喜欢它在DIV中包装所有内容并向聚会添加ABBR元素.
我怎么能阻止这个?
Roc*_*etR 47
您可以在simple_form的语言环境文件中将所需标记设置为空值:
en:
simple_form:
required:
text: 'required'
mark: '*'
Run Code Online (Sandbox Code Playgroud)
或者使用CSS来隐藏它.
Sha*_*ade 33
在config/initializers/simple_form.rb中添加以下行:
config.label_text = lambda { |label, required| "#{label}" }
Run Code Online (Sandbox Code Playgroud)
Les*_*ody 21
我正在使用Rails 3.1,对于给定的模型,我在_form.html.erb中有以下视图代码:
<div>
<%= f.label :full_name %><br/>
<%= f.text_field :full_name, :required => true %><br/>
</div>
Run Code Online (Sandbox Code Playgroud)
如果你这样做,标签不会显示星号.除非您发布代码,否则我无法确定您的方法是什么,以及我的解决方案是否适合所述方法.
更新的答案:听起来你从某人那里继承了这段代码.无论如何,在阅读完代码示例后,您肯定会使用simple_form gem.有关该gem的信息可以在这里找到https://github.com/plataformatec/simple_form.要回答您的问题,如果您更改以下代码:
<%= f.input :Company, :input_html => {:value => "", :id => "company_name"}, :label => "company name", :required => false %>
Run Code Online (Sandbox Code Playgroud)
这应该关闭星号.
我想补充一点,基于你对simple_form生成的HTML的厌恶,听起来你应该放弃使用Rails默认表单助手来重新编写你的表单代码,这可以在这里阅读http:// guides.rubyonrails.org/form_helpers.html.根据代码库的大小,你可能最好只是吮吸它并学习如何使用simple_form gem来节省时间,但如果你认为你有时间改变它,那就去吧.
VoA*_*VoA 15
最简单的方法是用这个css隐藏它:
abbr[title="required"] {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31698 次 |
| 最近记录: |