在导致 rails 错误时遇到一些问题。主要问题是在视图中错误显示一个数组输出并且没有连接在一起(用户友好)。我可以在视图中添加“join”方法,这将在具有多个错误的属性上正常工作。虽然如果属性只包含 1 个错误,这自然会中断。
因此,我目前正在尝试将错误加入控制器中,这样如果属性上有多个错误,它看起来会很漂亮。尝试在视图中添加 .join 方法不起作用,因为在有 1 个错误的实例上它会中断(因为您不能在字符串上调用 join 方法)
如何在控制器中进行这项工作的任何帮助都会很棒。有关处理此问题的另一种方法的任何建议也很棒。(从我试图像这样在控制器中美化/加入数组错误的逻辑)
控制器:
if @person.errors.blank? && @person.save
flash[:info] = "Your profile has been successfully updated."
redirect_to profile_url(@person) and return
else
if @person.errors.on(:first_name).is_a?(Array)
@person.errors.on(:first_name).join
end
flash[:warning] = "Sorry, there was a problem saving your profile. Please try again."
render :edit
end
看法:
%li
= label(:person, :first_name, "First Name")
= f.text_field :first_name
- if @person.errors[:first_name].present?
%span{:style => "color: red; margin-left: 180px;"}= @person.errors[:first_name]