Validation 在特定于输入类型的视图中呈现验证错误时遇到问题
我试图让我的验证错误只显示与该类型相关的消息。有三种类型的消息,我使用javascript显示或隐藏正确的类型。我曾尝试使用特定于类型的实例变量,但当验证失败时,它将无法正确读取我的实例变量 我的控制器当前的功能:Validation 在特定于输入类型的视图中呈现验证错误时遇到问题,validation,ruby-on-rails-4,partials,Validation,Ruby On Rails 4,Partials,我试图让我的验证错误只显示与该类型相关的消息。有三种类型的消息,我使用javascript显示或隐藏正确的类型。我曾尝试使用特定于类型的实例变量,但当验证失败时,它将无法正确读取我的实例变量 我的控制器当前的功能: def create @user = current_user @errors = "errors" @sassy = SassyWish.new @nice = NiceWish.new @blank = BlankWish.new
def create
@user = current_user
@errors = "errors"
@sassy = SassyWish.new
@nice = NiceWish.new
@blank = BlankWish.new
if params[:sassy_wish]
@wish = SassyWish.new sassy_params
elsif params[:nice_wish]
@wish = NiceWish.new nice_params
elsif params[:blank_wish]
@wish = BlankWish.new blank_params
else
render :new
end
@wish.save
if @wish.errors.any?
render :new
@user = current_user
if @wish._type = "SassyWish"
@sassyErrors = @errors
elsif @wish._type = "NiceWish"
@niceErrors = "errors"
elsif @wish._type = "BlankWish"
@blankErrors = "errors"
else
@errors
end
else
redirect_to wishes_url
end
end
我的看法
<div class="gw_wish">
<div class="gw_newWish">
<div class="gw_start gw_new"></div>
<div class="gw_newSassy gw_new">
<%= render partial: @sassyErrors %>
<%= render partial: "sassyWish" %>
</div>
<div class="gw_newNice gw_new">
<%= render partial: "niceWish" %>
</div>
<div class="gw_newBlank gw_new">
<%= render partial: "blankWish" %>
</div>
</div>
</div>
我想在每个愿望类型中显示错误,这样当您从一个愿望类型单击到另一个愿望类型时,它不会显示愿望类型是否与提交的愿望类型不匹配
当前,我在读取时遇到一个错误:“nil”不是与ActiveModel兼容的对象。它必须实现:to_partial_path
谢谢 使用
=
而不是=
。由于@sassyErrors
被设置为nil,因此出现错误。由于条件不正确,无法设置。与@nicererrors
和@blankErrors
相同
if @wish.save ## Check if record was saved successfully or not
redirect_to wishes_url
else
@user = current_user
if @wish._type == "SassyWish"
@sassyErrors = @errors
elsif @wish._type == "NiceWish"
@niceErrors = "errors"
elsif @wish._type == "BlankWish"
@blankErrors = "errors"
else
@errors
end
render :new
end