我正在使用Paperclip并为我的一个附件设置了一个default_url选项:
:default_url => '/images/missing_:style.png'
Run Code Online (Sandbox Code Playgroud)
自从目录移动后,资产管道显然不喜欢这样.处理这个问题的最佳方法是什么?我对这张照片有两种风格(迷你和拇指).
我正在使用Memcached和Heroku一起使用Rails 3.1应用程序.我有一个错误,错误的东西显示 - 缓存参数不正确.
我有这个:
<% cache("foo_header_cache_#{@user.id}") do %>
Run Code Online (Sandbox Code Playgroud)
我删除了碎片缓存并推送到Heroku,坏数据消失了.
然后我改为:
<% cache("foo_header_cache_#{@foo.id}") do %>
Run Code Online (Sandbox Code Playgroud)
但是,当我更正参数时,从@user到@foo,旧的[不正确]缓存版本再次显示(而不是使用正确的数据刷新).
如何手动使此过期,或以其他方式摆脱显示的这些错误数据?
我想验证用户名没有白色/空白区域供我的用户使用.是否有内置验证可以做到这一点?或者最好的方法是什么.似乎这是一个非常常见的要求.
我试图测试一个方法是否使用RSpec在我的Rails 3.2中触发电子邮件.它在生产和开发中起作用,我无法让它通过我的测试.
我收到了错误 undefined method 'deliver' for nil:NilClass
# user_spec.rb
it "should send an email if user has weekly email set to true" do
@user = FactoryGirl.create(:user, user_name: "Jane Doe", email: "jane@gmail.com", weekly_email: true, weekly_article_count: 10)
Mailer.should_receive(:weekly_email)
User.send_weekly_email
end
# user.rb
scope :weekly_email, where(:weekly_email => true)
scope :weekly_article_count, :conditions => ["weekly_article_count IS NOT NULL"]
def self.send_weekly_email
@users = User.weekly_email.weekly_article_count
@users.each do |user|
Mailer.weekly_email(user).deliver
end
end
Run Code Online (Sandbox Code Playgroud)
我也试过使用Mailer.should_receive(:weekly_email).with(user),但后来我收到了错误undefined local variable or method 'user'
我正在使用Heroku并拥有一个稳定的Rails应用程序(生产环境),所以我想创建一些新的东西,我可以有质量保证环境,我可以看到这些更改如何在Heroku上运行(以及聚合增强功能)发布)而不总是推送到我的生产应用程序.
所以我做的是创建一个新的Heroku应用程序,并在本地(dev)创建一个新的分支.我的目的是在我测试新的Heroku QA应用程序的更改后将dev合并到本地,然后从我的主分支推送到Heroku生产.
我的方法对我的风景可能不好,我是新手,所以这只是我对如何做到这一点的最佳猜测.
但是当我将我的dev分支推送到我的新QA应用程序时,它可以用于推送到QA应用程序的开发分支,但不是主人.所以我无法在新的QA应用程序上看到(并测试)我的更改.它似乎告诉我,我只能将主分支推送到我的QA应用程序的主人,因为我已经拉了一切,所有东西都已经是最新的,但是我收到了这个错误:
Pushing to git@github.com:foobar/QA.git
To git@github.com:foobar/QA.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:foobar/QA.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
有人可以帮我弄清楚我做错了什么 - 无论是我的环境还是Git?谢谢.
我在Heroku上尝试在我的Rails应用程序中实现缓存,但是我遇到了一些我不理解的问题.我认为在阅读Rails Guide和Heroku关于缓存策略的文档之后会很容易,但显然做错了.
问题1:操作视图似乎没有过期问题2:当我使用:layout => false时,我的管理员和应用程序布局都被使用(尝试仅获取应用程序布局)
对这个新手的任何帮助将非常感谢!
production.rb(每个heroku文档也安装了dalli)
config.cache_store = :dalli_store
config.action_controller.perform_caching = true (added after reading http://bit.ly/oRKub1)
Run Code Online (Sandbox Code Playgroud)
调节器
layout 'admin'
caches_action :show, :layout => false
def show
render :layout => 'application'
end
def update
expire_action :action => :show
end
Run Code Online (Sandbox Code Playgroud)
我尝试通过更改产品来测试过期,但show视图不会过期.因此,当我查看产品的编辑视图时,我没有缓存,我可以看到保存的更改(只是在标题中添加了一个单词),但是当我查看show时,它仍然具有旧信息.
我正在使用Twitter Bootstrap 2.0,我想知道如何更改选择框,以便它们具有与文本框和其他表单元素相同的令人敬畏的蓝色光芒.
现在,除了选择框之外,当我们将焦点放在它们上面时,我所有的表单元素都是蓝色的.我注意到即使在 http://twitter.github.com/ bootstrap/base-css.html#forms上,当我把焦点放在选择框上时,它们会发出橙色,所以也许它还没有内置.有没有其他人不得不处理这个,或知道如何解决它?谢谢!
我正在编写一个使用给定开始和结束日期的日期进行迭代的方法,我需要循环中的日期。像这样的东西:
start_date = 2013/03/12
end_date = 2013/11/20
# from start_date to end_date do |f|
puts date_this_iteration_is_processing
end
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?
我已经阅读了这些问题,但它们没有说明如何确定给定迭代的日期。
我正在使用reCAPTCHA,并且textarea for recaptcha_challenge_field出现在recaptcha框的中间,与其他东西重叠.我发现这是因为这种风格:
.recaptchatable #recaptcha_response_field {
position: absolute!important;
Run Code Online (Sandbox Code Playgroud)
当我设置position要static在Chrome中,它看起来不错.但是,我无法弄清楚如何覆盖该CSS选项.
我试过了:
将此添加到我自己的CSS:
.recaptchatable #recaptcha_response_field {
position: static !important;
}
Run Code Online (Sandbox Code Playgroud).recaptcha_text
position: static!important;到标准<textarea name="recaptcha_challenge_field" ...>标签但是,我不能让我的CSS覆盖那个位置:static!important; 随脚本而来:
<script type="text/javascript"
src="http://www.google.com/recaptcha/api/challenge?k=your_public_key">
</script>
<noscript>
<iframe src="http://www.google.com/recaptcha/api/noscript?k=your_public_key"
height="300" width="500" frameborder="0"></iframe><br>
<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge">
</noscript>
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决我做错的事吗?谢谢!
我遇到的问题应该很容易,但我不知道我做错了什么.我只是尝试执行一个返回单个字段的查询,而不是Rails 3中的完整记录.
模型方法
def self.find_user_username(user_id)
user_name = User.select("user_name").where(user_id)
return user_name
end
Run Code Online (Sandbox Code Playgroud)
我正盯着Rails指南(http://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields),它简单地说(其中viewable_by,locked = fields):
Client.select("viewable_by, locked")
Run Code Online (Sandbox Code Playgroud)
我试过翻转选择,就像这样:
User.select("user_name").where(user_id) - AND -
User.where(user_id).select("user_name")
Run Code Online (Sandbox Code Playgroud)
但都没有工作.事实上,我甚至尝试过:
user_name = User.select("yoda").where(user_id)
Run Code Online (Sandbox Code Playgroud)
我没有得到错误.当我查看视图时,我在哪里:
Friend.find_user_username(friend.user_id)
Run Code Online (Sandbox Code Playgroud)
我只是不断得到哈希:ActiveRecord :: Relation:0x2f4942f0