class Errors
include Enumerable
attr_reader :errors
delegate :empty?, :to => :errors
def initialize(base) # :nodoc:
@base, @errors = base, {}
end
....
end
从 2.3 的源码可以看出,your_model.errors.errors 将会返回一个 Hash,然后用 delete 方法删除应该就可以了。理论上是这样的,你要可以试试
your_model.errors.errors.delete(key)
your_model.errors.delete(key) http://apidock.com/rails/v3.2.8/ActiveModel/Errors/delete
key 一般是 field name,可以把 errors 打印看看
貌似你是需要 js 里引入应用配置,也许这个对你有用 http://ruby-china.org/topics/6167
#3 楼 @zzhattzzh 能给下简单代码吗?
看了下 Rails Guides,有些地方不太好处理,例如:
resources :posts
,只有 index 需要 atom 和 rss 格式,其它的只需要支持 html 格式就行了
如果在 action 里把 render 写在 respond_to 里可以解决,返回的是 406 状态,但这样就需要把所有的 render 都包含在 respond_to 里 太麻烦了
随手记,还有手机版 http://www.feidee.com/
用 rvm 的 gemset https://rvm.io/gemsets/basics/
感觉这个不是简单的测试驱动就能解决的问题 整体的架构,流程感觉很重要
#3 楼 @richard020389 #4 楼 @lmorenbit #5 楼 @ericguo 这个是用 nanoc 的文档站点,需要改的是 layout, 最终还是把 layout 从 haml 改成 erb 谢谢各位了
支持,希望国内 Ruby 的开源程序能追上 PHP,但开源方式不要像那些 PHP 程序
用row.at(3)
试试
这里官方的描述
< Whenever a Cell’s Format describes a Date or Time, Spreadsheet will give you the decoded Date or DateTime value. Should you need to access the underlying Float, you may do the following:
<
< row.at(3)
http://spreadsheet.rubyforge.org/GUIDE_txt.html
这个估计是写给新手的 ,把用户权限给加进去,很容易凌乱的
个人的思路,可以一起探讨一下
rvm 以单用户安装,或以 root 安装时把普通用户添加到 rvm 组
rails 应用创建单用户,再用passenger_user
指定切换应用用户,public 目录 nginx 的 www-data 用户估计得有读权限,具体操作请看 passenger 手册 http://www.modrails.com/documentation/Users%20guide%20Nginx.html#user_switching
没有实现过,有成功部署的经验可以写博文分享下 个人用的是 nginx+thin,想分享,但一直没有重新部署需求。写这个得边部署边写才行.而且还得有干净的环境
不知道是一个什么样的场景,自定义 callback 都觉得不好用?
对 C 底层不是很了解,只知道有 rewind 方法手动复位 http://apidock.com/ruby/v1_9_3_125/IO/rewind
想办法判断出页面 比如在topic#show页面里写上
<script type="text/javascript" language="javascript" charset="utf-8">
//<![CDATA[
window.page_name = "topic_show";
//]]>
</script>
在 JS 文件里的$.ready 里根据 window.page_name 判断是什么页面,再运行你需要运行的 JS
在页面里单独调用 JS 方法时,记得用$.ready JS 方法调用最好在 include script 标签后面
也许还要重写redirect_to
方法,参数默认加上:host
http://apidock.com/rails/ActionController/Redirecting/redirect_to
#15 楼 @cdredfox 这个和 IP 一样,你需要自定义的个 header,把 host 传过来 再重写 default_url_options 方法 http://stackoverflow.com/questions/2660172/how-do-i-set-default-host-for-url-helpers-in-rails
#13 楼 @cdredfox 用instance_variable_set
方法
request.instance_variable_set('@remote_ip', 'value')
http://apidock.com/ruby/Object/instance_variable_set
#9 楼 @cdredfox 应该是服务器做了检测 你可以自己写一个 rack middleware,修改 request header
或直接修改 request.remote_ip 方法,因为看了一下 devise 调用的是request.remote_ip
http://apidock.com/rails/ActionDispatch/Request/remote_ip
感觉只要在 devise 调用 remote_ip 方法前把 request 对象的@remote_ip
变量改了就行了
#2 楼 @cdredfox abc.com
这个域名你已经改了 IP 指向?可以先在本地通过修改 hosts 来测试看看
这是我的反向代理配置,和你的差不多,你看一下你的 nginx error.log
proxy_temp_path /tmp/proxy_temp_dir 1 2;
proxy_cache_path /tmp/proxy_cache_dir levels=1:2 keys_zone=nytimes:1m inactive=10m max_size=10m;
# the server directive is nginx's virtual host directive.
server {
# port to listen on. Can also be set to an IP:PORT
listen 80;
# Set the max size for file uploads to 50Mb
client_max_body_size 1M;
# sets the domain[s] that this vhost server requests for
# server_name www.[engineyard].com [engineyard].com;
server_name cn_nytimes_feed.lvcake.com;
# doc root
root /usr/share/nginx/html;
# vhost specific access log
access_log /home/outman/log/cnnytimesfeed_access.log main;
location / {
# needed to forward user's IP address to rails
# proxy_set_header X-Real-IP $remote_addr;
# needed for HTTPS
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header Host $http_host;
proxy_redirect off;
# proxy_max_temp_file_size 0;
proxy_pass http://cnnytimesfeed-mangege.rhcloud.com;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_cache nytimes;
proxy_cache_valid 200 302 30m;
proxy_cache_valid 301 1d;
proxy_cache_valid any 30m;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
proxy_pass http://abc.demo.com/;
去掉"/"试试 proxy_pass http://abc.demo.com;
不重要的话,可以尝试用 fsck 命令修复看看,重要的话就硬盘现在不要读写了,等高手解答