ruby-on-rails - Rails组错误

标签 ruby-on-rails ruby ruby-on-rails-4 error-handling

我有一个很大的Project模型,并且使用许多选项卡来显示表单的不同部分。

想法:每个选项卡都会为我的模型重新组合字段的特定子集,如果出现错误,我想用红色突出显示选项卡的标题。

嵌套关联非常简单,因为我只需要检查object.errors[:association].any?
但是对于所有其他 Realm ,这样做将非常繁琐

object.errors[:name] or object.errors[:start_date] or object.error[:end_date]...

是否可以将一些错误归为一组? 如果:name, :start_date中的任何一个错误,则以下内容应返回true ...
object.errors[:basic_params].any?

在我的HTML中,它看起来像这样
<ul class="nav nav-tabs" role="tablist">
    <li><a href="#tab-summary" data-toggle="tab">Résumé</a></li>
    <li><a href="#tab-echanges" data-toggle="tab"
        <%= 'class="text-danger"'.html_safe if @etude.errors[:echanges].any? %>>Echanges</a>
    </li>
    <li><a href="#tab-params" data-toggle="tab"
        <%= 'class="text-danger"'.html_safe if @etude.errors[:basic_params].any? %>>Paramètres</a>
    </li>
    <li><a href="#tab-phases" data-toggle="tab"
        <%= 'class="text-danger"'.html_safe if @etude.errors[:phases].any? %>> Phases</a>
    </li>
    <li><a href="#tab-candidatures" data-toggle="tab"
        <%= 'class="text-danger"'.html_safe if @etude.errors[:competences].any? %>> Candidatures</a>
    </li>

同时,我知道我可以做类似的事情,但是我真的很想拥有一些错误分组系统。
[:name, :start_date, :end_date].each do |field|
  return true if object.errors.include?(field)
end

最佳答案

我无法精确匹配所需的:[]查找语法,但是如果您只想这样做,为什么不使用以下结构?

example_params = [:name, :start_date, :end_date]
errors.any? { |e| example_params.include? e }

关于ruby-on-rails - Rails组错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29906867/

相关文章:

ruby-on-rails - 如何在 Rails 4 中使用 api? Rails-api gem 已合并到 Rails 5 中

ruby-on-rails - 在 rails 中生成二维码

ruby-on-rails - 将 gem 中的 I18n 翻译动态加载到 Rails 引擎中

ruby-on-rails - 为什么 ActiveSupport::JSON.encode 这么慢?

ruby-on-rails - Rails/Nginx 不提供 JS 和 CSS

ruby-on-rails - Rails 如何自动检查链接是否断开?

ruby-on-rails - Rails 检测移动设备的方法?

ruby - 遍历 Ruby 散列并使用每种方法进行过滤

javascript - 根据条件从 Rails Controller 调用 jquery 函数

ruby - Rails Elasticsearch 聚合