我正在從Michael Hartl的書中的示例應用程序構建Rails應用程序。爲了在用戶註冊顯示錯誤消息,我使用的部分在共享目錄 - 應用程序/視圖/共享/ _error_messages.html.erb:Rails中的控制結構部分
<%if @fact %>
<% @data = @fact %>
<% elsif @user %>
<% @data = @user %>
<% end %>
<% if @data.errors.any? %>
<div id="error_explanation">
<div class="alert alert-error">
The form contains <%= pluralize(@data.errors.count, "error") %>.
</div>
<ul>
<% @data.errors.full_messages.each do |msg| %>
<li>* <%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
原來,這部分剛開始是這樣的:
<% if @user.errors.any? %>
但是,因爲我已經決定重新使用這部分顯示在其他頁面上的錯誤,我在使用,這取決於頁我用不同的對象(@user,@fact)它在。這很容易通過添加頂部的IF語句來解決,即
<%if @fact %>
<% @data = @fact %>
<% elsif @user %>
<% @data = @user %>
<% end %>
- 但這感覺很癢。是否有一個控制器應該將這種邏輯用於共享偏分量?
不錯!奇蹟般有效。謝謝Marek! –