我有两个模型 user_item
和 user_item_images
。
user_item.rb


 has_many:user_item_images,dependent :: destroy
 validates:user_item_images,presence:{message:“你必须包含图片”}



 user_item_images.rb


 belongs_to:user_item& #xA;


 我有一个嵌套的表单只有一个 user_item_image
字段,:picture
。当我提交一个空表单时,我收到此消息



用户项目图片您必须包含图片


如何制作图片以便消息改为
& #xA;



你必须包含一张图片


我不知道如何编辑en.yml文件,因为错误是在存在另一个模型,而不是模型的属性。


我看了这里但答案太宽泛,我认为我需要自定义验证。

答案 0 :(得分:3)
改为创建自定义验证:
<ul>
<li>
<a href="tkhome.html">Home</a>
</li>
<li><a href="hobbies.html">Hobbies</a></li> <li><a href="contact.html">Contact</a></li>
<li><a href="imagepage.html">Image Gallery</a></li>
</ul>
答案 1 :(得分:-1)
为此,在您的user_item_images模型中,您需要:
validates :picture, presence: true
您可能还想了解是否要解决数据建模问题。无论如何,您当前的验证仅验证关联是否存在。因此,当您提交带有空图片字段的user_item_images表单时,失败的验证将是您的user_item模型中的验证。而不是尝试更改关联存在验证错误消息的内容,而是在user_item_images中为图片列添加验证。这样,如果图片为空,则会提示“你必须包含图片”。
我还评论说,进行状态验证:user_item模型上的user_item_images不是必需的,可能表示您需要解决的更大的数据建模问题。
答案 2 :(得分:-1)
没有必要编写额外的代码。你应该使用Rails&#39;内置在I18n中以自定义ActiveRecord错误消息。
内部config/locales/en.yml
en:
activerecord:
errors:
models:
user_item:
attributes:
user_item_images:
presence: "You must include a picture"