小编son*_*132的帖子

用户中的Net :: OpenTimeout

我正在使用actionmailer向用户发送设计的注册验证详细信息,但我收到以下错误:

用户中的Net :: OpenTimeout :: RegistrationsController #create

我的development.rb看起来像:

config.action_mailer.default_url_options = { :host => 'http://localhost:3000' }
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
 :address => 'smtp.gmail.com',
 :port => 25,
 :domain => 'gmail.com',
 :user_name => 'example@gmail.com',
 :password => 'secret',
 :authentication => 'plain',
 :enable_starttls_auto => true,
 :ssl => true
 }
Run Code Online (Sandbox Code Playgroud)

我使用这个问题并补充说

#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Run Code Online (Sandbox Code Playgroud)

命令:

cat /proc/sys/net/ipv6/conf/all/disable_ipv6
Run Code Online (Sandbox Code Playgroud)

返回1.它对我的错误没有影响.还尝试将端口从587更改为2525.所以我尝试从命令行建立与服务器的连接:

telnet smtp.gmail.com 2525
Run Code Online (Sandbox Code Playgroud)

拿到:

Trying 74.125.68.108...
Trying 74.125.68.109...
Trying 2404:6800:4003:c02::6c...
telnet: Unable to connect to remote …
Run Code Online (Sandbox Code Playgroud)

smtp ruby-on-rails actionmailer

9
推荐指数
0
解决办法
1454
查看次数

nginx:"/ root /index.html"禁止(13:权限被拒绝)

我正在安装nginx.以下是我遵循的步骤:

  • 将index.html文件放在/ root目录中
  • 编辑/etc/nginx/nginx.conf.编辑后,它看起来像这样:

    user  nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log;
    ...
    
    http {
       ...
    
       server {
            listen       80 default_server;
            server_name  my_domain_name.com;
            root   /root;
        ...
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 按照这个问题,我放弃了权限:

gpasswd -a nginx root

chmod g + x/root

(抱歉,无法正确格式化为代码)

  • 我重新启动了服务器:

服务nginx重启

我访问了my_domain_name.com并收到403错误./var/log/nginx/error.log内容:

"/root/index.html" is forbidden (13: Permission denied), client: 117.211.86.108, server: my_domain_name.com, request: "GET / HTTP/1.1", host: "my_domain_name.com"
Run Code Online (Sandbox Code Playgroud)

fedora nginx server

8
推荐指数
2
解决办法
1万
查看次数

覆盖嵌套路径中的参数

我希望在路由的命名约定方面保持一致.默认参数适用:id于任何资源.但是,如果在其中嵌套另一个资源,父资源的参数将更改为:parent_id.我的路由看起来像:

resources :users do
  resources :projects do
    resources :issues
  end
end
Run Code Online (Sandbox Code Playgroud)

对于用户模型,它会生成url :id,对于项目url将是:user_id/:id和url将发生的问题:user_id/:project_id/:id.我试图重载以下默认PARAM

resources :users, param: :user_id do
  resources :projects, param: :project_id do
    resources :issues, param: :issue_id
  end
end
Run Code Online (Sandbox Code Playgroud)

它生成的URL如下::user_user_id/:project_project_id/:issue_id.由于我重写它,我希望父资源的默认附加是关闭的.我希望我的路线看起来像:user_id/:project_id/:issue_id我希望它对所有模型都一致.即项目应映射到:user_id/:project_id.

routing ruby-on-rails actiondispatch

7
推荐指数
2
解决办法
1164
查看次数

使用嵌套资源覆盖命名路由参数

我想覆盖:id参数,解释了如何。但并不真正适用于嵌套资源。我的路线如下:

resources :users, param: :user_id do
  resources :projects, param: :project_id
end
Run Code Online (Sandbox Code Playgroud)

这会生成格式为 的 url::user_user_id/:project_id。我宁愿把它作为:user_id/:project_id. 有人可以帮忙吗?

routes ruby-on-rails actiondispatch

3
推荐指数
1
解决办法
1972
查看次数