我这里有一个非常简单的 Rails 问题,但我似乎无法在任何地方找到答案。我想有些问题源于我遵循 Rails 1.2 和 Rails 2.1 的教程。无论如何..
我正在编写一个博客系统,并且正在实现评论位。使用脚本/控制台创建评论后,我的评论显示正常,但让评论表单本身正常工作是困难的一点。
在 posts_controller.rb 我有
def comment
Post.find(params[:id]).comments.create(params[:comment])
flash[:notice] = "Added comment"
#render :action => show
redirect_to :action => show
end
在 show.html.erb( View )中我有
<%= form_tag :action => "comment", :id => @post %>
<%= text_area "comment", "body" %><br>
<%= submit_tag "Post Comment" %>
当我提交表单时,它试图转到显然不正确的 urb/posts/comment/1,并提示找不到模板。显然我不想要那里的模板,因为我已经告诉它重定向到显示操作,因为我希望它只重新显示帖子的显示页面,并在那里显示新评论。
我已经尝试了注释掉的行 (render :action => show) 和 redirect_to 行,但似乎都没有做任何事情。
我确定我遗漏了一些简单的东西,但它是什么?
最佳答案
redirect_to :action => 'show', :id => params[:id]
用引号括起 show 是否有效?
关于ruby-on-rails - Rails 忽略渲染和 redirect_to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/223354/