mel*_*yal 10 validation activerecord ruby-on-rails
我有3个型号:User,Swatch + Color.用户具有许多样本,并且样本引用颜色.
用户在其个人资料页面(users/show/id)上创建样本.
颜色模型通过使用accepts_nested_attributes_for :color
和的样本模型处理验证validates_associated :color
.
我的问题是,如何在用户个人资料页面上显示特定于颜色的验证错误?
这是样本控制器.我目前只是用flash显示一个通用错误消息,但是想从颜色模型访问真正的ActiveRecord :: Errors:
class SwatchesController < ApplicationController
before_filter :authenticate
def create
color = Color.find_or_create_by_value(params[:swatch][:colors][:value])
@swatch = current_user.swatches.build(:color_id => color.id)
if @swatch.save
flash[:success] = "Swatch created"
redirect_to user_path(current_user)
else
flash[:error] = "Error"
redirect_to user_path(current_user)
end
end
end
Run Code Online (Sandbox Code Playgroud)
Yan*_*nis 24
你可以试试
flash[:error] = color.errors.empty? ? "Error" : color.errors.full_messages.to_sentence
Run Code Online (Sandbox Code Playgroud)
我还认为,随着validates_associated
中,@swatch.errors
还包含了色彩误差.
归档时间: |
|
查看次数: |
11208 次 |
最近记录: |