我正在关注Rails Guides - Getting Started教程。它创建了一个基本的Post模型和一个属于Post的评论模型。
我在Comment模型中添加了一个简单的验证,它可以正常工作,但如果填写错误,我无法弄清楚如何显示表单错误。
这是我的评论.rb模型
class Comment < ActiveRecord::Base
validates :body, presence: true
belongs_to :post
end
以下是添加评论的原始表单,它位于posts / show.html.erb
中<h2>Add a comment:</h2>
<%= form_for([@post, @post.comments.build]) do |f| %>
<div class="field">
<%= f.label :commenter %><br />
<%= f.text_field :commenter %>
</div>
<div class="field">
<%= f.label :body %><br />
<%= f.text_area :body %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
在comments_controller.rb
中创建原始动作class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(params[:comment])
redirect_to post_path(@post)
end
end
我已经尝试了很多东西,但这一切都感觉就像在黑暗中摸索一样。有人能指出我正确的方向吗?
答案 0 :(得分:1)
看看dynamic_form gem - 这曾经是铁路本身的一部分但是被提取了一段时间。有了它,您可以像这样显示内联错误:
<%= f.label :commenter %><br />
<%= f.text_field :commenter %>
<%= f.error_message_on :commenter %>