Ruby on rails 我得到了MissingTemplate错误,但不知道原因

Ruby on rails 我得到了MissingTemplate错误,但不知道原因,ruby-on-rails,Ruby On Rails,我访问页面https://lazyair.co/specials/2015-09-25-02正确 我有模板specials.html.haml 但它仍然向我显示ActionView::MissingTemplate 怎么会这样?有什么方向吗?谢谢 控制器 例外 您可以将路由限制为以下预定义格式: get 'specials/(:token)' => 'welcome#specials', :format => :html get 'specials' => 'welcome#s

我访问页面
https://lazyair.co/specials/2015-09-25-02
正确

我有模板
specials.html.haml

但它仍然向我显示
ActionView::MissingTemplate

怎么会这样?有什么方向吗?谢谢

控制器 例外
您可以将路由限制为以下预定义格式:

get 'specials/(:token)' => 'welcome#specials', :format => :html
get 'specials' => 'welcome#specials', :format => :html
有时候,这种解决方案是有效的。但是,如果这不能解决您的问题,请尝试在控制器操作中显式响应格式:

  def specials
    @specials = Special.all

    respond_to do |format|
      format.html { }
    end
  end

您可以将路由限制为以下预定义格式:

get 'specials/(:token)' => 'welcome#specials', :format => :html
get 'specials' => 'welcome#specials', :format => :html
有时候,这种解决方案是有效的。但是,如果这不能解决您的问题,请尝试在控制器操作中显式响应格式:

  def specials
    @specials = Special.all

    respond_to do |format|
      format.html { }
    end
  end

因为你的问题缺少一些更详细的细节,所以我会这样做:

#app/controllers/welcome_controller.rb
class WelcomeController < ApplicationController
    def index
       @specials = Special.all
    end
    def show
       @specials = Special.find params[:id]
    end
end

#app/views/welcome/show.html.haml
...

#config/routes.rb
resources :welcome, path: "specials", only: [:show] #-> url.com/specials/:id
#app/controllers/welcome_controller.rb
类WelcomeController<应用程序控制器
def索引
@特价
结束
def秀
@specials=Special.find参数[:id]
结束
结束
#app/views/welcome/show.html.haml
...
#config/routes.rb
参考资料:欢迎,路径:“特价”,仅:[:show]\#->url.com/specials/:id
我知道这会改变方法名(我宁愿使用常规路由,也不愿使用特殊的方法名)。它应该为您提供消除错误所需的结构


此外,如果您在某种“交易”应用程序中使用此功能,您将需要执行以下操作:

#app/controllers/specials_controller.rb
class SpecialsController < ApplicationController
   def index
      @specials = Special.all
   end
end

#app/views/specials/index.html.haml
<% @specials.each do |special| %>
    <%= special.x %>
<% end %>
#app/controllers/specials_controller.rb
类SpecialsController
因为你的问题缺少一些更详细的细节,我想做以下几点:

#app/controllers/welcome_controller.rb
class WelcomeController < ApplicationController
    def index
       @specials = Special.all
    end
    def show
       @specials = Special.find params[:id]
    end
end

#app/views/welcome/show.html.haml
...

#config/routes.rb
resources :welcome, path: "specials", only: [:show] #-> url.com/specials/:id
#app/controllers/welcome_controller.rb
类WelcomeController<应用程序控制器
def索引
@特价
结束
def秀
@specials=Special.find参数[:id]
结束
结束
#app/views/welcome/show.html.haml
...
#config/routes.rb
参考资料:欢迎,路径:“特价”,仅:[:show]\#->url.com/specials/:id
我知道这会改变方法名(我宁愿使用常规路由,也不愿使用特殊的方法名)。它应该为您提供消除错误所需的结构


此外,如果您在某种“交易”应用程序中使用此功能,您将需要执行以下操作:

#app/controllers/specials_controller.rb
class SpecialsController < ApplicationController
   def index
      @specials = Special.all
   end
end

#app/views/specials/index.html.haml
<% @specials.each do |special| %>
    <%= special.x %>
<% end %>
#app/controllers/specials_controller.rb
类SpecialsController
specials.html.haml在哪个文件夹中?app/views中的
specials
路线如何?@ahmaclod/welcome@KMRakibulIslam'get'specials/(:token)=>'welcome#specials'get'specials'=>'welcome#specials'`你能试试我的答案吗:
get'/specials'=>'welcome#specials',:format=>/(?:| html | json)/
看看这是否解决了您的问题?位于哪个文件夹中的
specials.html.haml
?位于app/views的
specials
的路线看起来如何?@ahmaclod/welcome@KMRakibulIslam'get'特价/(:token)你能试试我的答案吗:
get'/specials'=>“welcome'/specials'”,:format=>/(?:| html | json)/
,看看这是否解决了你的问题?实际上,我只允许这个页面使用html格式:)所以如果你这样做:
get'specials'=>“welcome'/specials',:format=>:html
,你仍然得到相同的错误?实际上,我只允许此页面的html格式:)因此,如果你这样做:
获取'specials'=>'welcome#specials',:format=>:html
,你仍然得到相同的错误吗?