Ruby on rails 表单视图中未显示验证错误消息

Ruby on rails 表单视图中未显示验证错误消息,ruby-on-rails,ruby,ruby-on-rails-5,simple-form,Ruby On Rails,Ruby,Ruby On Rails 5,Simple Form,我有一个简单的模型: class Property < ApplicationRecord belongs_to :user has_many :invoices, dependent: :destroy has_many :tenants, dependent: :destroy validates :street, presence: true, length: { maximum: 50} validates :city, presence: true, length:

我有一个简单的模型:

class Property < ApplicationRecord
 belongs_to :user
 has_many :invoices, dependent: :destroy
 has_many :tenants, dependent: :destroy

 validates :street, presence: true, length: { maximum: 50}
 validates :city, presence: true, length: { maximum: 50}
 validates :zip, presence: true, length: { maximum: 10}
 validates :rent, presence: true, length: { maximum: 50}


 def receivable
  (self.rent.to_i + self.charges.to_i)
  end
end
下面是表单视图:

<div class="container center">
 <div class="row white">
  <div">
   <h2>Nouveau bien</h2>
   <%= simple_form_for([@user, @property]) do |j| %>
    <%= j.input :number, label:"Numéro" %>
    <%= j.input :streetype, label: "Laisser vide si nécessaire", collection: [" 
    ","rue","boulevard","allée"] , prompt: "Choisir" %>
    <%= j.input :street, label:"Nom" %>
    <%= j.input :city, label:"Commune / Ville" %>
    <%= j.input :zip, label:"Code Postal" %>
    <%= j.input :rent, label:"Montant du Loyer" %>
    <%= j.input :charges, label:"Montant des charges" %>
    <br>
    <%= j.submit 'Créer', class: "form-control btn btn-info" %>
   <% end %>
  </div>
 </div>
</div>


else
块中,您不应该将\u重定向到新的\u用户\u属性\u路径
,而应该

render 'new'

原因:
redirect
指示浏览器发出新的请求,因此您最终失去了
@property
对象的上下文及其错误。它实际上向
new
操作发出了一个新的请求
render
将继续当前操作(在本例中为
create
),并在
new
视图中使用
@property
、错误和以前的表单正文呈现响应。

而不是
else
块中重定向到新的用户属性路径,你应该
render'new'
Hello kiddorails!是的,它有效。你知道为什么吗?谢谢,请回答这个问题,这样我就可以相信你了!
<div class="container center">
 <div class="row white">
  <div">
   <h2>Nouveau bien</h2>
   <%= simple_form_for([@user, @property]) do |j| %>
    <%= j.input :number, label:"Numéro" %>
    <%= j.input :streetype, label: "Laisser vide si nécessaire", collection: [" 
    ","rue","boulevard","allée"] , prompt: "Choisir" %>
    <%= j.input :street, label:"Nom" %>
    <%= j.input :city, label:"Commune / Ville" %>
    <%= j.input :zip, label:"Code Postal" %>
    <%= j.input :rent, label:"Montant du Loyer" %>
    <%= j.input :charges, label:"Montant des charges" %>
    <br>
    <%= j.submit 'Créer', class: "form-control btn btn-info" %>
   <% end %>
  </div>
 </div>
</div>
render 'new'