说我有一个字符串数组
arr = ['sandra', 'sam', 'sabrina', 'scott', 'mark', 'melvin']
Run Code Online (Sandbox Code Playgroud)
我将如何像在Rails中的活动记录对象一样搜索此数组.例如,查询"sa"将返回['sandra', 'sam', 'sabrina'].
谢谢!
我将如何使用正则表达式测试完全匹配.
"car".match(/[ca]+/) 返回true.
由于正则表达式模式不包含"r",我如何才能使上述语句返回false?包含"c"和"a"以外的任何字符的任何字符串都应返回false.
"acacaccc"应该返回true
"acacacxcc"应该返回false
例如:
[ (id=>1, email=>'tim@tim.com', name=>'tim'),
(id=>2, email=>'joe@joe.com', name=>'joe'),
(id=>3, email=>'dan@dan.com', name=>'dan') ]
Run Code Online (Sandbox Code Playgroud)
如何提取电子邮件列并将其放入自己的数组中?
我有一个Rails 3应用程序,保持高分.我在Heroku上托管它,它使用postgresql作为数据库.
我需要从分数表中提取最高分.该表有列score和user_id.它在mysql中使用以下代码:
Score.order('score DESC').group('user_id').limit(25)
这会对每个用户的最高分进行排名.
当我把应用程序放在Heroku上时,我得到以下psql错误 PGError: ERROR: column "scores.id" must appear in the GROUP BY clause or be used in an aggregate function
我已经读过,但没有找到明确的答案.重新创建上述查询以使用PostgreSQL的最佳方法是什么?
谢谢!
蒂姆
我有一个Rails 3 Facebook画布应用程序.当它加载时,它给我一个无效的真实性令牌错误,并显示signed_requestFacebook发送到我的应用程序的参数.有没有办法绕过来自facebook的signed_request的'protect_from_forgery'?
谢谢!
蒂姆
我有一个Rails 3应用程序,我正在寻找创建内部分析.我需要跟踪的项目包括展示次数(和独特的展示次数),来自这些展示次数的点击次数以及来自这些点击次数的转化次数.这些都是特定于用户的,因此每个用户都可以查看他们收到的展示次数,点击次数和转化次数.
最好的方法是什么?我应该创建一个单独的rails应用程序并用像素调用它吗?或者我应该在同一个应用程序中包含所有分析代码?
此外,是否有任何分析平台已经可以自定义以满足我的需求?
谢谢!
蒂姆
我设置了我的 Rails 应用程序,每个用户都可以上传头像。图像使用 HTTP Post 直接上传到 Amazon 的 S3。到目前为止,除了用户能够上传任何类型的文件之外,一切正常。
我正在使用camelpunch 的d2s3 插件的一个分支。以下是帮手:
policy = Base64.encode64(
"{'expiration': '#{expiration_date}',
'conditions': [
{'bucket': '#{bucket}'},
['starts-with', '$key', '#{key}'],
{'acl': '#{acl}'},
{'success_action_redirect': '#{redirect}'},
['starts-with', '$Content-Type', '#{content_type}'],
['content-length-range', #{min_filesize}, #{max_filesize}]
]
}").gsub(/\n|\r/, '')
signature = b64_hmac_sha1(D2S3::S3Config.secret_access_key, policy)
out = ""
out << %(
<form action="https://#{bucket}.s3.amazonaws.com/" method="post" enctype="multipart/form-data" id="#{options[:form][:id]}" class="#{options[:form][:class]}">
<div>
<input type="hidden" name="key" value="#{key}/${filename}" />
<input type="hidden" name="AWSAccessKeyId" value="#{access_key_id}" />
<input type="hidden" name="acl" value="#{acl}" />
<input type="hidden" name="success_action_redirect" value="#{redirect}" />
<input type="hidden" name="policy" value="#{policy}" />
<input …Run Code Online (Sandbox Code Playgroud) upload file-upload ruby-on-rails amazon-s3 amazon-web-services
编写以下示例的正确方法是什么?球员的得分应该等于5或8.
it "should equal 5 or 8" do
player.score.should == 5 or 8
end
Run Code Online (Sandbox Code Playgroud)
谢谢!
蒂姆
我在Rails 2.3.5上运行了官方的authlogic插件.我将我的应用程序转换为Rails 3.0.1,现在我遇到了一些问题.
我在我的gemfile中包含了以下authlogic gem
gem 'authlogic', :git => 'git://github.com/odorcicd/authlogic.git', :branch => 'rails3'
用户登录时会保存会话.调用该用户会话时,返回的值为nil.UserSession.find returns a nil value所以我无法分配current_user.
sessions_controller.rb
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save!
flash[:notice] = 'Login successful'
redirect_to root_url
else
render :action => 'new'
end
end
Run Code Online (Sandbox Code Playgroud)
application_controller.rb
helper_method :current_user, :current_user_session
private
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.record
end
Run Code Online (Sandbox Code Playgroud)
当用户登录时,将返回闪存通知,'Login sucessful'但未设置current_user.我也尝试使用官方的authlogic插件,没有任何改变.我在这里错过了什么吗?
谢谢!
蒂姆
我有一个包含两列的分数表:user_id和score
user_id得分
1 200
1 120
1 230
2 300
2 345
3 100
3 40
4 350
4 500
......
Score.order('score DESC').limit(3)列出前3个分数.相反,我如何获得前3个分数,其中每个用户只获得列表中的一个位置(他们的最高分).
上表中的高分将是:
user_id:4得分:500
user_id:2得分:345
user_id:1得分:230
谢谢!
蒂姆
我遇到了memcached的问题.
我在这里使用Gregg Pollack的例子http://railslab.newrelic.com/2009/02/19/episode-8-memcached
post.rb
def self.recent
Rails.cache.fetch('recent_posts', :expires_in => 15.minutes) do
self.order('id DESC').limit(15)
end
end
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我调用它@posts = Post.recent并将其写入缓存.如果我重新加载页面,我会收到错误TypeError: can't modify frozen object.
我在控制台中尝试了同样的事情,我得到了同样的错误.第一次执行时@posts = Post.recent,密钥recent_posts被添加到缓存中.当我第二次执行相同的命令时,我得到了冻结的错误.
我正在使用Rails 3.0.1并在开发模式下工作.
我在这里做错了吗?
谢谢!
蒂姆