缺少模板 - 困惑

时间:2014-05-09 15:34:17

标签: ruby-on-rails

我已经实现了一个简单的亚马逊搜索应用程序,它可以正常运行,我现在正在尝试将该功能合并到另一个使用OmniAuth的应用程序中。问题是当我在新应用中执行搜索时,我收到模板丢失错误:缺少模板书籍/搜索,应用程序/搜索......

这是第一个应用程序的routes.rb:

Rails.application.routes.draw do
  resources :books

  root :to => "books#index"
  match '/search', to: 'books#search', via: :get

books_controller.rb有

def search

  @allbooks << newbook
  ## no redirect statements but results displays fine...

 end 

以下是我试图添加搜索框的应用的routes.rb:

Rails.application.routes.draw do
      devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
      resources :users
      resources :reviews

      resources :books

      root :to => "books#index"

      match '/search', to: 'books#search', via: :get

我已经确认搜索功能正在执行,但现在我得到模板丢失错误..两种情况下的application.html.erb都有以下部分,在原始搜索应用中显示正常:

           <div class="row">
        <div class="small-12 columns">
            <div>
            <% flash.each do |name,msg| %>
              <%= content_tag :div, msg, :id => "flash_#{name}" %>
            <% end %>
            </div>
        <%= yield %>    
        </div>
    </div>

任何帮助表示感谢并提前感谢。

斯拉夫科

1 个答案:

答案 0 :(得分:0)

当您在图书控制器中运行搜索操作时,它(默认情况下)会在app / views / books中查找名为search.html.erb的文件(或您正在使用的任何模板)。

我猜你没有在你的本地版本中使用它,所以没有上传它。只需一个空白文件就可以了吗?

未经测试但您可以通过将以下内容添加到控制器中来解决此问题:

render nothing: true, layout: true