首页 > 解决方案 > Rails 5,不能在控制器中使用请求?

问题描述

request.host_with_port在控制器中使用,但没有效果。

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

得到错误:

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

标签: ruby-on-rails

解决方案


在您的控制器操作中,您可以获得主机:

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

并在 home/index.html.erb 文件中显示:

<%= @host_and_port %>

这是 github 上简单 rails 项目的链接: https ://github.com/nezirz/host_controller

您可以简单地将项目复制到您的电脑:git clone git@github.com:nezirz/host_controller.git

并在运行后bundle installrails s克隆的项目目录中启动它


推荐阅读