Ruby on rails Rails:render不';无法工作,仍然缺少get`模板`

Ruby on rails Rails:render不';无法工作,仍然缺少get`模板`,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我目前正在学习Rails指南。我完成了这些步骤,但仍然遇到了一个错误 我的Ruby版本是Ruby2.1.1p76,Rails版本是4.0.4 按照指南的指示,我创建了一个文章控制器 class ArticlesController < ApplicationController def new end def create render plain: params[:article].inspect end end 以下是我的相关路线: articles GE

我目前正在学习Rails指南。我完成了这些步骤,但仍然遇到了一个错误

我的Ruby版本是
Ruby2.1.1p76
,Rails版本是
4.0.4

按照指南的指示,我创建了一个
文章控制器

class ArticlesController < ApplicationController
  def new
  end

  def create
    render plain: params[:article].inspect
  end

end
以下是我的相关路线:

articles GET    /articles(.:format)          articles#index
         POST   /articles(.:format)          articles#create


更新:
render plain:
是参考的
Rails 4.1.0
中引入的一种新方法。

您可能需要通读

当您响应Ajax或API时,呈现纯文本是最有用的 web服务请求期望的内容不正确 HTML


如果您想在页面上查看params[:article]的文本信息,则可以使用
呈现文本

试试这个

class ArticlesController < ApplicationController
  def new
  end

  def create
    render text: params[:article].inspect
  end    
end

您不需要模板意味着您可以使用render nothing:true

试着这样做:

class ArticlesController < ApplicationController
 def new
 end

 def create
  params[:article].inspect
  render nothing: true
 end
end
class-ArticlesController

请在
渲染
方法中参考此链接

,在
Rails 4.1
中添加了
普通
选项,您正在使用
Rails 4.0.4
。因此,rails忽略了这个选项,开始查找名为
articles/create
的模板,就像您在
ArticlesController\create
操作中一样。很明显,模板不存在,因此您会得到错误信息
模板丢失

请参阅

现在,要使用下面提到的语法,您需要升级到
Rails 4.1

render plain: params[:article].inspect
使用当前版本的
Rails 4.0.4
,您可以:

render text: params[:article].inspect

更改文件中的Rails版本:

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.6'
然后运行:

bundle install

确保您的Rails版本现在>4.1

我碰巧遇到了相同的错误。我必须使用rails 3.2,因为我正在使用的实际应用程序有这个版本。不管怎样,你知道有没有机会得到这个版本的教程?我在网站上没有找到任何记录。也许我挖得不够多,v3.2的相关指南是。请参阅底部的
render
文档。适用于Rails 3.2.12。
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.6'
bundle install