简体   繁体   中英

Getting error NoMethod error in RoR controller

I have been developing in Ruby on Rails for a while now so I am completely confused at why this is happening. I created a controller called ApiController as you can see below.

class ApiController < ActionController::Metal

   def documentation

   end

   def request_manager

   end

end

Here are the routes I set to setup the documentation view.

Rails.application.routes.draw do

  root 'landing#home'

  get 'api' => 'api#documentation'

end

There is an documentation.html.erb file in the api folder as well, but No matter what I do I get the following error.

在此处输入图片说明

It makes no sense to me why it's not routing correctly and has me completely baffled.

As a side note, the landing controller works perfectly fine and routes to the home page with no problem so it's just this controller.

Actually I just figured it out. Turns out that ActionController::Metal turns off must functionality including rendering so when you attempt to make it render as a normal controller, it faults while loading and the error is somewhere in the class files of Ruby's main code. Hence me not being able to find what was going wrong exactly till I looked up more documentation for the Metal controller.

I was using ActionController::Metal for it's speed and just didn't realize how much it stripped away from functionality in the process.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM