Ruby on rails Rails忽略渲染并将_重定向到
我这里有一个非常简单的rails问题,但我似乎在任何地方都找不到答案。我想其中一些问题是因为我学习了Rails1.2和Rails2.1的教程。无论如何 我正在写一个博客系统,我正在实现评论位。一旦我使用脚本/控制台创建了注释,它们就会显示得很好,但是要让注释表单本身工作起来很困难 在posts_controller.rb中,我有Ruby on rails Rails忽略渲染并将_重定向到,ruby-on-rails,ruby,Ruby On Rails,Ruby,我这里有一个非常简单的rails问题,但我似乎在任何地方都找不到答案。我想其中一些问题是因为我学习了Rails1.2和Rails2.1的教程。无论如何 我正在写一个博客系统,我正在实现评论位。一旦我使用脚本/控制台创建了注释,它们就会显示得很好,但是要让注释表单本身工作起来很困难 在posts_controller.rb中,我有 def comment Post.find(params[:id]).comments.create(params[:comment]) flash
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(视图)中
“comment”,:id=>@post%>
当我提交表单时,它试图转到urb/posts/comment/1,这显然是错误的,它抱怨找不到模板。显然,我不想在那里有一个模板,因为我告诉它重定向到show动作,因为我希望它只是重新显示帖子的show页面,在那里有新的评论
我尝试了注释掉的行(render:action=>show)和重定向到行,两个行似乎都没有做任何事情
我肯定我遗漏了一些简单的东西,但它是什么?是的,您使用的是旧的rails样式 新事物:
form_for :comment, :url => { :post_id => @post } do |f|
f.text_area :body
submit_tag "Post"
end
您可以将资源用于帖子和评论、搜索谷歌以获得更好的教程或安装rails 1.2.6:
gem install -v 1.2.6 rails
Rails 2.1包含“RESTful资源”<代码>显示恰好是所有rails控制器使用的预定义REST操作之一的名称
Rails在幕后发挥了一些神奇的作用,show相当于“用特定的ID显示这个特定的元素”。听起来好像和这件事有关。ID可能默认为“1”。因此,您将从呈现调用中看到生成的URL
Rails 2.1的实现方法将使用以下操作和模板:
-显示注释的完整列表索引
-添加新注释创建
-仅显示特定注释(而不是完整列表)。听起来这不是您想要的,但是rails内部的“魔力”将默认为这一点显示
new
(显示视图以输入新注释)edit
(显示视图以编辑现有注释)update
(处理更新提交)和destroy
(duh)的操作,但在本例中,您似乎不会使用它们
你有教程的链接吗?将其移植到Rails 2.1样式并不难。是否将
重定向到:action=>'show',:id=>params[:id]
并在show work周围加引号?教程位于。我还发布了另一个关于此类问题的问题
gem install -v 1.2.6 rails