#2 楼 @CloneIDEA 我依照你的建议还是得到 readtimeout 的错误。配置如下
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.qq.com",
:port => "465",
:domain => "qq.com",
:authentication => "login",
:user_name => "mail",
:password => "password",
#:enable_starttls_auto => true,
:openssl_verify_mode => 'none'
}
#6 楼 @kayakjiang 嗯 确实 我本来的思想就是将可以分离加载的都分离加载。
config.assets.precompile += %w(projects.js projects.css jquery.min.js jquery.fileupload.js
jquery.iframe-transport.js jquery.ui.widget.js)
tmp 是每次在发布的时候我都清楚了的,你看看这个配置
@zj0713001 你说的是对的,这个问题解决了。谢谢!
@phpnew 你好,我现在遇到一个问题,tcpsocket,Unicorn 没有监听设置的端口,导致 nginx 没法访问 配置
upstream app_server {
# fail_timeout=0 means we always retry an upstream even if it failed
# to return a good HTTP response (in case the Unicorn master nukes a
# single worker for timing out).
# for UNIX domain socket setups:
#server unix:/path/to/.unicorn.sock fail_timeout=0;
# for TCP setups, point these to your backend servers
# server 192.168.0.7:8080 fail_timeout=0;
# server 192.168.0.8:8080 fail_timeout=0;
server 192.168.1.4:8080 fail_timeout=0;
}
#listen "/tmp/#{application}.sock", :backlog => 256
listen "127.0.0.1:8080"
你看配置有问题吗
在各位热心朋友的帮助下,问题解决了 set :log_level, :debug,这样就看到了报错的地方了,然后有错误提示就好办啦
@diudiutang 听了你这番话,感觉心凉凉的呢!在我回到 2.x 之前,至少要发布成功,然后对比下
#1 楼 @vkill #2 楼 @neverlandxy_naix 感觉有些时候元编程这本书讲的不透测,就像 instance_eval 和 class_eval,他没有说也没有解释为什么 instance_eval 的当前类就是单件类
module UserMethods
def n_upcase
self.nickname = nickname.upcase
self.save!
end
end
这里你把 upcase! 改为了 upcase。这里我测试了必须是这样的,但是能给讲讲为什么吗?
#27 楼 @huhongda #26 楼 @zhangyuan 周末好好研究了下,确实这个代码是可以自动 reload 的。估计是我的 netbeans 的问题哦,在里面保存了但是没有被 reload,我换成了 rubymine 就 OK 了。 谢谢各位的跟进和指正!
#26 楼 @zhangyuan #27 楼 @huhongda "这里,虽然修改了 nickname 这个属性的内容,但是,self.save! 并不会保存到数据库。"这里为什么 self.save!不会保存到数据库呢
#24 楼 @zhangyuan 非常感谢
#19 楼 @zhangyuan 还有问题呀,就是不能检测到 user_methods.rb 的变化。我把代码提交到 github,你 fork 一个帮我看看,可以吗?
#19 楼 @zhangyuan 名字改过来了,而且确定没有再去 require 这个文件了
#17 楼 @zhangyuan 嗯,这个确实是个问题。但是我更改了之后,依然没有实现逻辑。 environment.rb
# Load the Rails application.
require File.expand_path('../application', __FILE__)
# Initialize the Rails application.
ShareResources::Application.initialize!
p 'init test log file'
class TestLogger < Logger
def format_message(severity, timestamp, progname, msg)
"#{timestamp.to_formatted_s(:db)} #{severity} #{msg}\n"
end
end
test_logfile = File.open("#{Rails.root}/log/test_logger.log", "a+")
test_logfile.sync = true
TEST_LOG = TestLogger.new(test_logfile)
application.rb
#config.autoload_paths += Dir[Rails.root.join("app", "models", "modules")]
config.autoload_paths += %W(#{config.root}/app/models/modules)
users_controller.rb
def index
@users = User.all
@users.map(&:n_upcase)
TEST_LOG.info "Here i am"
end
#13 楼 @zhangyuan 按照你说的做,重启服务器的时候 modules 下的文件都是没有加载的。
config.autoload_paths += %W(#{config.root}/app/models/modules)
其余的代码见 11 楼
#13 楼 @zhangyuan 我这样做了但是没有实现功能
#7 楼 @zhangyuan http://ruby-china.org/topics/17376 在这个帖子里面我贴上了代码
第一条就是我想要加载的文件
#8 楼 @ruohanc #7 楼 @huhongda #6 楼 @ruby_sky 这是 modules/user_methods.rb
module UserMethod
def n_upcase
self.nickname.upcase!
self.save!
end
end
这是 models/user.rb
class User < ActiveRecord::Base
include UserMethod
end
我现在想要实现的就是在 user_methods.rb 变化的时候,比如 upcase! => downcase!,然后不需要重启 server,刷新网页就能看到名字的变化。
development 下,是不是所有 app/* 下的文件都是可以自动 reload 的
愿意给新手机会的公司都是好公司!Good Luck!