我有一个非常简单的Rails应用程序。基本上是一篇有评论的文章。我希望文章页面显示文章,下面的评论,然后是一个文本框来写一个评论和一个提交按钮来提交它。
除了一个(大)问题外,我把它全部搞定了。当页面加载时.. example.com/article/1 将空白评论提交给数据库。
我通过在Comment模型中包含“validates_presence_of:body”来解决这个问题。但是当页面加载时会产生以下图像:
顺便说一句,这是我的代码:
def show
@place = Article.find(params[:id])
@comment = Article.find(params[:id]).comments.create(params[:comment])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @article }
end
end
和
<% form_for([@article, @comment]) do |f| %>
<p>
<%= f.label :commenter %><br />
<%= f.text_field :commenter %>
</p>
<p>
<%= f.label :body %><br />
<%= f.text_area :body %>
</p>
<p>
<%= f.submit "Create" %>
</p>
<% end %>
答案 0 :(得分:2)
这是因为你做了一个创作。
创建尝试保存对象等无效,生成错误。
制造:
@comment = Article.find(params[:id]).comments.build(params[:comment])
我认为解决你的问题