这个问题确实有失水准,但是确实搞不定 对于标准的 scaffold 来说
def create
if @post.save
redirect_to
else
render new
end
1.可是,当我们在其他的页面下创建呢?else 下面应该怎么写? 比如说,ruby-china 的回帖,提交空白的话,是不会 render new 的,而是会在本页面直接进行提示。我看了 Ruby-china 的源码,并没有用到 render 和 redirect 2.怎么对于两种情况进行运用?比如说,既可以在 posts/show 下面发 comment,也可以在 comments/new 里面写 comment,这样 render 原来的页面就不适合了吧?
好像是必须得 render 或者 redirect?
def create (创建post下面的comment)
@post=Post.find(params[:post_id])
@comments=@post.comments
@comment=@post.comments.new(params[:comment])
@comment.user = current_user
if @comment.save
redirect_to @post, notice: "Comment created"
else
render 'posts/show'
end
end
我这样能行,但是我总觉得写得很多余,尤其是@[email protected]