我有一个本地运行的Web服务器,它映射到MacOSX盒子上的project.name.localhost:3011.我的/ etc/hosts定义了:
127.0.0.1 project.name.localhost
我需要在Chrome和Firefox中浏览此服务器.当我访问http://project.name.localhost:3011 /时,Chrome的效果非常好.Firefox提供"无法连接"连接错误.我可以在本地服务器的控制台中看到,当我尝试使用FF时,甚至没有连接尝试发送到服务器.
这是在FF版本59.0.2(64位)上.FF对像这样的公共互联网站点和谷歌没有问题.
我已经尝试了这里建议的所有步骤:https: //support.mozilla.org/en-US/kb/firefox-cant-load-websites-other-browsers-can 总之,这些步骤是:
network.dns.disableIPv6到真正的about:confignetwork.dns.disablePrefetch到真正的about:config还试图禁用HSTS,如下所述:https: //support.mozilla.org/en-US/questions/1204380
ping project.name.localhost
Run Code Online (Sandbox Code Playgroud)
工作也很好.没有本地DNS问题.
http://127.0.0.1:3011/给出了与使用主机名完全相同的错误.但是,我需要通过主机名访问服务器.它不是也不应该配置为响应直接IP.
如何让FF通过主机名命中我的本地Web服务器?
编辑:两个同事在设置他们的系统时经历了他们所描述的相同问题,但他们都说"一天或两天后它就会自行消失".我的问题持续数周并重新启动.
请求的控制台输出:
GET http://global.appen.localhost:3011/invoice_groups
Request headers (398 B)
Accept
text/html,application/xhtml+xm…plication/xml;q=0.9,*/*;q=0.8
Accept-Encoding
gzip, deflate
Accept-Language
en-US,en;q=0.5
Cache-Control
no-cache
Connection
keep-alive
Host
global.appen.localhost:3011
Pragma
no-cache
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Macintosh; Intel …) Gecko/20100101 Firefox/59.0
Run Code Online (Sandbox Code Playgroud)
网络时间:
Blocked: ? 1 ms
DNS resolution: ? …Run Code Online (Sandbox Code Playgroud) 我有一个简单的 Ruby on Rails 应用程序,使用 Devise 进行身份验证。我想让用户使用用户名而不是电子邮件登录,并尝试按照此处所述实现这一点: 设计使用用户名而不是电子邮件进行身份验证
扭曲的是我仍然希望每个用户都有一个电子邮件地址,并且在注册时需要一个。因此,我在注册表单上留下了“电子邮件”字段。
问题是,当我使用有效的电子邮件地址(或电子邮件的任何其他值)填写注册表单时,Devise 会出现错误:“电子邮件不能为空”。
为什么电子邮件被视为空白,我该如何解决?
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation, :remember_me) }
devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :password, :remember_me) }
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:username, :email, :password, :password_confirmation, :current_password) }
end
end
Run Code Online (Sandbox Code Playgroud)
用户模型
class User < ActiveRecord::Base
# Include default devise …Run Code Online (Sandbox Code Playgroud) 我想在我的rails应用程序中为用户授予权限.我有'admin'可以创建,更新和删除所有帖子和评论,'user'可以创建和更新他自己的评论,'guest"谁不能做到这些.为此,我使用了宝石'devise'和'cancancan'.我理解'设计'宝石,但我不明白'cancancan'.
在class ability.rb中,如何为这些用户(admin,user,guest)写权限?