2017-03-01 119 views
0

我試圖呈現一個模板下Ruby on Rails的模板缺少

public/index.html.erb 

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

Missing template public/index 

我看不出有什麼不妥的地方。公開一個保留字或什麼?

回答

1

嘗試使用:

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

這行不通。我之前使用過渲染,並沒有任何問題。 – Tuler

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

0

你可以這樣做:

將此添加到您的routes.rb文件中。

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

更新

在Rails 4,它應該使用 「搞定」,而不是 「匹配」:

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

如果您滿意我的答案,然後使其正確並投票 –