【发布时间】:2011-07-20 19:13:50
【问题描述】:
我按照教程创建了博客应用程序。所以我有帖子和cmets。帖子表单中的字段验证非常完美。帖子的 cmets 部分中的验证也有效,但我无法打印错误。
评论模型:
班级评论 属于_to :post 验证 :commenter, :presence => true 结尾评论控制器:
定义创建 @post = Post.find(params[:post_id]) @comment = @post.cmets.build(params[:comment]) 如果@comment.save 重定向到 post_path(@post) 别的 渲染:模板 => '帖子/显示' 结尾 结尾 定义破坏 @post = Post.find(params[:post_id]) @comment = @post.cmets.find(params[:id]) @comment.destroy 渲染:模板 => '帖子/显示' 结尾后控制器:
定义索引 @posts = Post.all respond_to 做 |格式| format.html # index.html.erb format.xml { 渲染 :xml => @posts } 结尾 结尾 定义显示 @post = Post.find(params[:id]) @comment = @post.cmets.build #add #@comment = @Comment.new #添加 respond_to 做 |格式| format.html # show.html.erb format.xml { 渲染 :xml => @post } 结尾 结尾 定义新 @post = Post.new respond_to 做 |格式| format.html # new.html.erb format.xml { 渲染 :xml => @post } 结尾 结尾 定义编辑 @post = Post.find(params[:id]) 结尾 定义创建 @post = Post.new(params[:post]) respond_to 做 |格式| 如果@post.save format.html { redirect_to(@post, :notice => '帖子创建成功。') } format.xml { 渲染 :xml => @post, :status => :created, :location => @post } 别的 format.html { 渲染 :action => "new" } format.xml { 渲染 :xml => @post.errors, :status => :unprocessable_entity } 结尾 结尾 结尾 定义更新 @post = Post.find(params[:id]) respond_to 做 |格式| 如果@post.update_attributes(params[:post]) format.html { redirect_to(@post, :notice => '帖子已成功更新。') } format.xml { 头:ok } 别的 format.html { 渲染 :action => "编辑" } format.xml { 渲染 :xml => @post.errors, :status => :unprocessable_entity } 结尾 结尾 结尾 定义破坏 @post = Post.find(params[:id]) @post.destroy respond_to 做 |格式| format.html { redirect_to(posts_url) } format.xml { 头:ok } 结尾 结尾我使用的形式是:
<%= form_for([@post, @post.comments.build]) do |f| %>
如何获取 cmets 的 .errors?如果我尝试,我总是得到:未定义的方法“错误”或 nil 对象。
请帮忙,我对 Rails 完全陌生。
谢谢!
皮卡
【问题讨论】:
-
你用的是什么版本的rails?
标签: ruby-on-rails