неопределенный метод get для контроллера - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь использовать немного кода из приложения Ruby в Rails.

Данное приложение не в Rails и имеет два представления. Я скопировал часть кода и вставил его в контроллер в Rails:

get '/' do
  erb :index, :locals => {:item_id => item_id, :access_token => access_token}
end

И я получаю сообщение об ошибке:

ActionController::RoutingError (undefined method `get' for XXXcontroller)

Я не уверен, как я ' Я должен интерпретировать этот бит кода в контроллере в Rails.

Ответы [ 2 ]

1 голос
/ 23 марта 2020

Вам нужно начать с реального учебника / книги и изучить Rails. Вы не можете собрать приложение rails из случайных фрагментов, которые вы не понимаете.

Этот код взят из Sinatra, который разработан с учетом простых приложений и где ваши маршруты и контроллеры объединены в один файл. Код Rails и Sinatra не является взаимозаменяемым *.

Если вы хотите определить маршрут в Rails для / (путь root). Вы определяете это так:

# config/routes.rb
Rails.application.routes.draw do
  root to: 'pages#home' 
end

И затем объявляете соответствующий контроллер:

# app/controllers/pages_controller.rb
class PagesController < ApplicationController
  def home
  end
end

И представление:

<h1>Pages#home</h1>
<p>Find me in app/views/pages/home.html.erb</p>

См .:

Начало работы с Rails

1 голос
/ 23 марта 2020

Маршруты в приложении Rails находятся в файле routes.rb в каталоге config. Ваш маршрут может выглядеть примерно так:

get '/index', to: 'controller#index'

Это говорит о выполнении действия индекса контроллера контроллера. Этот метод (индекс) связан с запросом get.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...