Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails不更新记录,即使知道至少有一个错误,也不会显示错误_Ruby On Rails_Ruby On Rails 4_Ruby 2.1 - Fatal编程技术网

Ruby on rails Rails不更新记录,即使知道至少有一个错误,也不会显示错误

Ruby on rails Rails不更新记录,即使知道至少有一个错误,也不会显示错误,ruby-on-rails,ruby-on-rails-4,ruby-2.1,Ruby On Rails,Ruby On Rails 4,Ruby 2.1,型号 class Clip < ActiveRecord::Base validates_length_of :description, maximum: 160 end 查看 <%= render 'saas_admin/shared/errors', resource: resource %> 知道为什么会这样吗?谢谢。正如您所看到的,尽管它可能看起来是倒退的,但更新和更新之间的主要区别在于!是如何处理失败的保存 更新ActiveRecord类时!如果记录无效,版本

型号

class Clip < ActiveRecord::Base
  validates_length_of :description, maximum: 160
end
查看

<%= render 'saas_admin/shared/errors', resource: resource %>

知道为什么会这样吗?谢谢。

正如您所看到的,尽管它可能看起来是倒退的,但更新和更新之间的主要区别在于!是如何处理失败的保存

更新ActiveRecord类时!如果记录无效,版本将引发异常


更多信息请访问我认为
资源
@Clip
不是同一个Clip对象

您在代码中的什么位置将
@clip
指定为
资源
?我看不出您在哪里定义了
资源


如果将其更改为
问题解决了吗?

嗨,Michael,我知道使用
的区别符号,问题是,如果使用
符号引发异常和验证错误,为什么没有它
资源。错误
为零?对不起,我一定是误解了。如果需要的话!引发异常然后不使用它似乎会导致
resource.errors
成为
nil
有意义。所以我肯定错过了什么。抱歉,迈克尔,你帮了我好几次。。谢谢。你说得很对,此应用程序使用的是继承的资源,因此
编辑/更新中的
资源
操作与我在
更新
中加载的操作不同。因此,让我澄清一下,
resource
@clip
是两个不同的对象。。我愚蠢的错误。非常感谢。
<%= render 'saas_admin/shared/errors', resource: resource %>
<% if resource.errors.any? %>
    <ul>
    <% resource.errors.full_messages.each do |msg| %>
      <li><%= msg %></li>
    <% end %>
    </ul>
<% end %>