我已经实现了一个简单的亚马逊搜索应用程序,它可以正常运行,我现在正在尝试将该功能合并到另一个使用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>
任何帮助表示感谢并提前感谢。
斯拉夫科
答案 0 :(得分:0)
当您在图书控制器中运行搜索操作时,它(默认情况下)会在app / views / books中查找名为search.html.erb的文件(或您正在使用的任何模板)。
我猜你没有在你的本地版本中使用它,所以没有上传它。只需一个空白文件就可以了吗?
未经测试但您可以通过将以下内容添加到控制器中来解决此问题:
render nothing: true, layout: true