0

我在 Rails 项目中使用 Simple_form gem,在我出现之前有人在做这个项目,所以我不太熟悉它。

在哪里可以更改显示错误消息的位置?目前它们出现在文本框下方,如下所示:

在此处输入图像描述

基本上,我的 Rails 项目中的下落被告知“在文本框下显示错误消息?”

我可以看到:

<%= f.input :name, :required => true, :label_html => { :class => 'edit_form_titles' }, :error_html => { :class => 'cant_be_blank'} %>

但无论我对该代码做什么,它仍然会在文本框下留下一个空格。我希望消息显示在顶部,文本框下方没有空格。我的初始化程序文件夹中有一个文件 simple_form.rb,它可能会处理它,但不确定在哪里查看或更改什么。这是 simple_form 2.0.2。

4

1 回答 1

1

我设法让我的错误显示在输入框上方的标签中。

使用下面的代码,我给了我的错误一个类,它可以格式化为定位等,但是输入框下总是有一个空白的 div 或其他东西,这使得它下面的其他输入框脱离了关节。

<%= f.input :name, :required => true, :label_html => { :class => 'edit_form_titles' }, :error_html => { :class => 'cant_be_blank'} %>

在我的初始化程序/simple_form.rb 中有:

  config.wrappers :bootstrap, :tag => 'div', :class => 'control-group', :error_class => 'error' do |b|
    b.use :html5
    b.use :placeholder
    b.use :label
    b.wrapper :tag => 'div', :class => 'controls' do |input|
      input.use :input
      input.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
      input.use :hint,  :wrap_with => { :tag => 'p', :class => 'help-block' }
    end
  end

我将其更改为:

  config.wrappers :bootstrap, :tag => 'div', :class => 'control-group', :error_class => 'error' do |b|
    b.use :html5
    b.use :placeholder
    b.wrapper :tag => 'div', :class => 'label-error' do |input|
      b.use :label
      b.use :error, :wrap_with => { :tag => 'span', :class => 'help-block' }
    end
    b.wrapper :tag => 'div', :class => 'controls' do |ba|
      ba.use :input
      ba.use :hint,  :wrap_with => { :tag => 'p', :class => 'help-block' }
    end
  end

这消除了输入框下的空白空间,我可以格式化我的 cant_be_blank 类,以便文本恰好出现在我标签中的文本旁边。

于 2013-06-23T22:01:04.253 回答