Rails - 简单表单 - 样式错误消息

Rails - Simple Form - style error messages

我正在尝试在我的 views 文件夹中创建一个部分,他共享该文件夹以获取错误消息。

我想删除简单形式的标准错误消息并用我自己的样式替换它 - 在所有模型中。

我的问题是,如何在我的部分中引用相关模型。根据它的使用位置,它需要引用包含部分的形式。

例如标准的简单形式错误块是:

<% if @question.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@project_question.errors.count, "error") %> prohibited this question from being
        saved:</h2>

      <ul>
        <% @project_question.errors.full_messages.each do |msg| %>
            <li><%= msg %></li>
        <% end %>
      </ul>

如何用@[相关模型的名称]替换@question?

谢谢

你的答案是 passing a local variable http://guides.rubyonrails.org/layouts_and_rendering.html#passing-local-variables

<%= render partial: "your_partial", locals: {question: @question} %>

为此你可以做一个部分_error_messages,html.erb

<% if model.errors.any? %>
  <div id="error_explanation">
    <h2>
      <%= pluralize(model.errors.count, "error") %> prohibited
       this from being saved:
    </h2>
    <ul>
      <% model.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
    </ul>
  </div>    
<% end %>

您可以在您的视图中将此局部渲染为:

<%= render partial: "error_messages", locals: {model: @question} %>