gpt4 book ai didi

ruby-on-rails - 帖 subview 中未显示评论验证错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:31 25 4
gpt4 key购买 nike

我正在开发基本的博客引擎,我已经对评论应用了验证,但是当我提交时它不显示错误,而是显示默认的 ActiveRecord::RecordInvalid by rails。

我的评论 Controller 是

def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create!(params[:comment])
redirect_to @post
end

我的帖子/显示 View 如下,可以正常发表评论

 <%= form_for [@post, Comment.new] do |f| %>
<p class="comment-notes">Your email address will not be published. Required fields are marked <span class="required">*</span></p>
<p>
<b><%= f.label :name, "Name * " %></b><%= f.text_field :name %><br /></p>
<p>
<b><%= f.label :body, "Comment" %></b><%= f.text_area :comment, :cols => 60, :rows => 5 %>
</p>
<p>
<%= f.submit "Post Comment" %>
</p>

任何人都可以帮助我在相同的帖子/显示 View 上显示验证错误吗?

提前致谢

最佳答案

替换

@comment = @post.comments.create!(params[:comment])
redirect_to @post

@comment = @post.comments.create(params[:comment])
if @comment.errors.any?
render "posts/show"
else
redirect_to @post
end

与 create 不同,create! 会在验证失败时引发错误

在帖子/节目中

<%= form_for [@post, Comment.new] do |f| %>
<% if @comment && @comment.errors.any? %>
<% @comment.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
<% end %>
...

关于ruby-on-rails - 帖 subview 中未显示评论验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14627172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com