Rails 3去除金属?
我正在尝试实现Mongoid,Carrierwave和grid_fs.
我遵循了指南1.
但是,我已经读过Rails 3正在删除Metal(http://github.com/rails/rails/commit/ed34652d1aca148fea61c5309c1bd5ff3a55abfa).
所以我偶然发现了这篇文章:指南2
考虑到Rails 3可能会移除Metal以及将来维护的情况.哪个指南更适合让grid_fs,Mongoid和Carrierwave一起工作?
这有什么问题(用户模型,第95行):
scope :by_recent, where('created_at BETWEEN ? AND ?', 1.month.ago, Time.now).order('created_at desc').
Run Code Online (Sandbox Code Playgroud)
每当我启动rails s或rails c时,我得到:
/Users/Chris/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:202:in `rescue in log': PGError: ERROR: unrecognized time zone name: "UTC" (ActiveRecord::StatementInvalid)
Run Code Online (Sandbox Code Playgroud)
在我的模型中注释该行会使错误消失.奇怪.我顺便使用postgres 9.通过Homebrew安装(brew install posgtres).
此链接建议如下.但我不明白这个人的建议是什么解决方案......
MikZ:我已经想到了这一点
当您覆盖acessor(使用表colum)时,rails会设置具有自动时区转换的访问器,您将遇到严重问题
当离开rails默认(或设置时区)时,你会得到很好的结果,但如果你覆盖访问器,你将遇到严重的问题
所以:不要覆盖"时间"attibutes的访问者
完整错误:
/Users/Chris/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:202:in `rescue in log': PGError: ERROR: unrecognized time zone name: "UTC" (ActiveRecord::StatementInvalid)
: SET time zone 'UTC'
from /Users/Chris/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:194:in `log'
from /Users/Chris/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:496:in `execute'
from /Users/Chris/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:961:in `configure_connection'
from /Users/Chris/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:939:in `connect'
from /Users/Chris/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:228:in `initialize'
from /Users/Chris/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:25:in `new'
from /Users/Chris/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:25:in `postgresql_connection'
from /Users/Chris/.rvm/gems/ruby-1.9.2-p136/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:228:in `new_connection' …Run Code Online (Sandbox Code Playgroud) 这可能是一个非常简单的修复,但我还没有找到答案.
我的申请有订单和任务.订单有很多任务.当用户在show order视图中单击新任务时,它会传递order.id:
<%= link_to "New Task", new_task_path(:order_id=> @order.id) %>
Run Code Online (Sandbox Code Playgroud)
网址显示:
/tasks/new?order_id=1
Run Code Online (Sandbox Code Playgroud)
我只是不知道如何提取这个并在我的表单中使用它?我试过了:
<%= f.text_field :order_id, :value => @order_id %>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我已经将Devise用作其他项目的标准认证gem.在另一个项目中,我使用Devise + Omniauth进行Twitter身份验证.
在一个新项目中,我需要我的最终用户能够通过Twitter和Facebook登录,或者能够通过应用程序注册.将来用户可以将他的帐户链接在一起.例如,他的Twitter和Facebook帐户.或者,他的Twitter和"原生"帐户."原生"是他直接在网络应用中注册的帐户.
Devise能够做到这一点吗?如果是这样,我们如何将用户的帐户链接在一起?这背后的概念是什么?该应用程序如何知道哪个Facebook和Twitter帐户属于哪个用户?
欢迎提出意见和建议.
编辑:
我一直关注http://railscasts.com/episodes/236-omniauth-part-2?autoplay=true,我没有得到的是.如果
该应用程序如何知道如何将其新服务提供商与其现有帐户相关联?
Stackoverflow.com具有此功能.但是,他们未在其"多重签名"功能中包含的一个服务提供商是Twitter.我猜这是因为Twitter不会通过他们的API公开用户的电子邮件.而其他服务提供商(Facebook,雅虎,Gmail)的确如此.
我看过Ryan Bate对PayPal整合的看法.我甚至可以使用Rails 3.1测试应用程序和PayPal的沙箱.
但是,rails cast中强调的方法更适用于支付您(您的业务)的最终用户.如果您需要向客户汇款怎么办?是否有关于如何进行此操作的教程/视频/文档?
理想情况下,我想使用我的Paypal帐户向客户的银行帐户汇款,在某些情况下可能不一定是Paypal所有.
我正在尝试将文件直接上传到Amazon S3.我尝试过使用Uploadify和Plupload.两者都有其优点.但是,我发现两者都与旧的浏览器版本不兼容.特别是IE 7,8和9.我还测试了Firefox 3.6.真是个小故障...
我查看了FancyUpload,它与Adobe Flash 9和10播放器的所有A级浏览器(Internet Explorer 6 +,Opera 9,Firefox 1.5+和Safari 3+)完全兼容.
我已经尝试过使用Firefox 3.6 - 10和IE 7,8和9的这个上传程序.没有问题.唯一的问题是,这是使用MooTools而不是jQuery.我知道有很多方法可以集成jQuery和MooTools.但在此方法之前,我想考虑其他选择.
有没有人知道一个可靠的(有偿的或无偿的)上传脚本?在纯JS或jQuery中?
我的一个邮件看起来像这样:
mail(:from => "Support Team <support@email.com>",
:to => "#{@user.alias} <#{@user.email}>",
:subject => 'Verification Email')
Run Code Online (Sandbox Code Playgroud)
但是,如果用户的别名是"Foobar,Bar",那么电子邮件实际上会被发送到:Foobar, Bar <foobar@gmail.com>.即foobar和作曲家.
我认为问题在于"Foobar,Bar"中的逗号.这需要转义还是什么?
我的邮件应该是这样的:
mail(:from => "Support Team <support@email.com>",
:to => @user.email,
:subject => 'Verification Email')
Run Code Online (Sandbox Code Playgroud) 只是想知道每个人如何在Heroku上将更新推送到他们的生产服务器,而不会让应用程序停机几秒钟?
推送到Heroku(特别是使用像Unicorn这样的东西)需要一段时间才能加载Web应用程序.特别是当有最终用户试图访问该网站时.他们最终得到503页.加载Unicorn进程需要30秒到一分钟.
在rails迁移中.如何将字符串类型列更改为bigint?
我有:
t.change :ip_number_from, :integer, :limit => 8
Run Code Online (Sandbox Code Playgroud)
我明白了:
PG::Error: ERROR: column "ip_number_from" cannot be cast to type bigint
Run Code Online (Sandbox Code Playgroud)
我甚至尝试过两种选择:
change_column :ip_to_countries, :ip_number_from, :integer, :limit => 8
change_column :ip_to_countries, :ip_number_from, :bigint
Run Code Online (Sandbox Code Playgroud)
还是一样的错误.
我正在阅读http://www.ember-cli.com/#stylesheets,其中说:
Ember CLI支持开箱即用的纯CSS.您可以将css样式添加到app/styles/app.css,它将在assets/application-name.css中提供.
我应该遵循文件夹结构约定吗?就像是:
app/styles/application.css
app/styles/users/index.css
app/styles/users/new.css
etc
Run Code Online (Sandbox Code Playgroud)
或者是存储所有自定义css的约定app.css?
在将这个应用到Pods应用程序时,我应该考虑特殊的考虑因素吗?
heroku ×2
postgresql ×2
actionmailer ×1
devise ×1
email ×1
ember-cli ×1
ember.js ×1
gridfs ×1
homebrew ×1
javascript ×1
jquery ×1
migration ×1
mongoid ×1
omniauth ×1
routes ×1