我希望在Rails 4.2中使用restrict_with_error验证。
在这个应用程序中,一个区域有多个公寓。如果区域有与之相关的公寓,我想阻止区域被删除。
以下是区域模型:
class Area < ActiveRecord::Base
has_many :apartments, :dependent => :restrict_with_error
validates :name, presence: true
end
以下是用户可以删除区域的视图:
<% @areas.each do |a| %>
<tr>
<td><%= a.id %></td>
<td><%= a.name %></td>
<td><%= a.notes %></td>
<td><%= link_to 'Destroy', a, method: :delete, data: { confirm: 'Are you sure you want to delete this area?' } %></td>
</tr>
<% end %>
</tbody>
</table>
如果我尝试删除具有相关公寓的区域,则会受到限制。但是,不会显示错误。
这可能是一个非常简单的问题,但如果删除受限制,错误会显示在哪里?
提前非常感谢!
答案 0 :(得分:1)
您需要访问区域错误。您可以在区域控制器中执行此操作:
def destroy
unless @area.destroy
flash[:notice] = @area.errors.full_messages[0]
end
redirect_to areas_path
end