Отсутствует шаблон для этого формата и варианта запроса

Я новичок в Ruby on Rails и пытаюсь понять, как работает MVC.

Я сделал следующее:

rails new bubblesman 
rails generate controller bubble

в моем контроллере пузырьков я создал метод следующим образом:

def available
  puts "YEP!!!!!!"
end

Я поместил в файл маршрутов следующее:

'welcome' => 'bubble#available'

Я перехожу к http://localhost:3000/welcome Я получаю следующую ошибку:

ActionController::UnknownFormat (BubbleController#available is missing a template for this request format and variant.

request.formats: ["text/html"]
request.variant: []

NOTE! For XHR/Ajax or API requests, this action would normally respond with 204 No Content: an empty white screen. Since you're loading it in a web browser, we assume that you expected to actually render a template, not… nothing, so we're showing an error to be extra-clear. If you expect 204 No Content, carry on. That what you'll get from an XHR or API request. Give it a shot.):

то, что я тоже не понимаю, это если я поместил это в мой вспомогательный контроллер вместо моего основного контроллера, все это прекрасно работает.

Ответы

Ответ 1

вам нужно создать файл available.html.erb в каталоге views/bubble/. Когда маршрут приведет вас к этому действию, он также переместит вас в это представление, поэтому, если вы поместите:

<h2>YEP!!!!</h2>

как единственная строка в этом файле, он должен вернуть это вам на веб-странице.

В будущем вы можете использовать rails g scaffold bubbles, и это создаст большинство файлов (MVC) и маршрутов для вас.