缺少Ruby on Rails模板

时间:2017-03-01 23:01:46

标签: ruby-on-rails

我想在

下渲染一个模板
public/index.html.erb

  def public_index
    @post = Post.all
    render 'public/index'
  end

Missing template public/index

我没有看到任何问题。公开是一个保留的词还是什么?

3 个答案:

答案 0 :(得分:1)

尝试使用:

render :file =>  "#{RAILS_ROOT}/public/index.html.erb"

答案 1 :(得分:0)

尝试

render :template => 'public/index'

如果这样做无效,请尝试以下方式

render :edit
render action: :edit
render "edit"
render "edit.html.erb"
render action: "edit"
render action: "edit.html.erb"
render "books/edit"
render "books/edit.html.erb"
render template: "books/edit"
render template: "books/edit.html.erb"
render "/path/to/rails/app/views/books/edit"
render "/path/to/rails/app/views/books/edit.html.erb"
render file: "/path/to/rails/app/views/books/edit"
render file: "/path/to/rails/app/views/books/edit.html.erb"

检查http://guides.rubyonrails.org/layouts_and_rendering.html

答案 2 :(得分:0)

你可以这样做:

将此添加到routes.rb文件中。

match '/index', :to => redirect('/index.html')

更新

在Rails 4中,它应该使用" get"而不是"匹配":

get '/index', :to => redirect('/index.html')