【发布时间】:2022-01-26 20:21:49
【问题描述】:
我是 Ruby Rails 的新手,并尝试按照教科书进行操作,但我的验证代码不起作用。原始项目是使用脚手架命令创建的:
rails generate scaffold Micropost content:text user_id:integer
然后说明告诉我将以下代码添加到我的 Micropost 模型中:
validates :content, length: { maximum: 140 }, presence: true
验证的工作原理是如果长度超过 140 则不提交表单,但问题是没有错误消息或任何内容。按钮什么也不做。根据教科书,应该有一个红色的错误消息。
有什么想法吗?
【问题讨论】:
-
请检查您是否有以下内容: 1. 您在控制器中的记录上验证“有效?”、“验证”; 2. 页面上有错误块,通过 Flash 或其他方式呈现错误(又名 micropost.errors.full_messages)。
-
我在我开始的另一个项目中遇到了同样的问题。我的创建方法有这个:'@email_contact = EmailContact.new(email_contact_params) if '@email_contact.valid? '@email_contact.deliver flash[:success] = '消息已发送!' redirect_to contact_path else flash[:error] = '错误。无法发送消息。 render :new end 然后 :new 方法应该刷新页面,我通过 但它不会工作
-
撇号是因为 StackOverflow 不允许我输入 '@';这实际上不在我的代码中。
标签: ruby-on-rails ruby