2010-03-12 149 views
1

我有一个非常简单的Rails应用程序。基本上有评论的文章。我想让文章页面显示文章,下面的评论,然后是文本框来撰写评论和提交按钮来提交它。表单在页面加载时提交

除了一个(大)问题以外,我知道了所有的工作。当页面加载.. example.com/article/1 空白评论提交给数据库。

我修正了在评论模型中包含“validates_presence_of:body”的问题。但是,这会导致下面的图像中加载网页时:

alt text

这是我的代码的方式:

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 %> 

回答

2

这是因为你犯了一个创建。

创建尝试保存对象并且类似无效,则会生成错误。

产地: @comment = Article.find(params[:id]).comments.build(params[:comment])

解决您的问题,我认为

相关问题