Rails 5, не можете использовать запрос в контроллере? - PullRequest
0 голосов
/ 28 сентября 2018

Хотите использовать request.host_with_port в контроллере, но не эффект.

class SomeController < ApplicationController
 domain = request.host_with_port
  ...

Ошибка:

NameError - undefined local variable or method `request' for SomeController:Class
...

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Объект запроса

request предназначен для любого действия контроллера, а не только для контроллера

class SomeController < ApplicationController
  def some_action
     domain = request.host_with_port  #"localhost:3000"
     url =  request.url #http://localhost:3000/somes/action_name/:id
  end
end
0 голосов
/ 28 сентября 2018

В вашем действии контроллера вы можете получить host как:

class HomeController < ApplicationController
  def index
    @host_and_port = request.host_with_port
  end
end

и показать в файле home / index.html.erb с:

<%= @host_and_port %>

Вот ссылка напростой проект rails на github: https://github.com/nezirz/host_controller

Вы можете просто скопировать проект на свой компьютер с помощью: git clone git@github.com:nezirz/host_controller.git

и запустить его после запуска bundle install и rails s внутри клонированной директории проекта

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