小编Vik*_*bde的帖子

Ruby On Rails - 重用错误消息部分视图

问题

我试图在我的视图中重用错误消息块.

下面是位置/ _error_messages.html.erb中写的块

<% if @position.errors.any? %>
  <div id="error_explanation">
   <div class="alert alert-error">
     The form contains <%= pluralize(@position.errors.count, "error") %>.
   </div>
   <ul>
    <% @position.errors.full_messages.each do |msg| %>
    <li>* <%= msg %></li>
   <% end %>
   </ul>
 </div>
<% end %>
Run Code Online (Sandbox Code Playgroud)

问题是我必须在每个模型中创建类似的局部视图,它是用不同的对象重复相同的代码,即@ user,@ client等.

补救

我在共享文件夹shared/_error_messages.html.erb中创建了一个erb,并编写了以下代码.

<% def error_message(active_object) %>
 <% if active_object.errors.any? %>
  <div id="error_explanation">
   <div class="alert alert-error">
    The form contains <%= pluralize(active_object.errors.count, "error") %>.
   </div>
   <ul>
    <% active_object.errors.full_messages.each do |msg| %>
     <li>* <%= msg %></li>
    <% end %>
   </ul>
  </div> …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3

6
推荐指数
1
解决办法
3533
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1