小编col*_*rco的帖子

使用Ruby On Rails在AJAX中获得星级评级

我认为acts_as_rateable似乎已经过时并且不支持AJAX.

我正在寻找一个简单的"五星级"评级系统:是否有任何插件或教程可以提供帮助?

ruby ajax ruby-on-rails rating

8
推荐指数
2
解决办法
1万
查看次数

使用Ruby on Rails进行高性能RSS/Atom解析

我需要解析成千上万的feed,性能是必不可少的要求.你有什么建议吗?

提前致谢!

ruby ruby-on-rails

7
推荐指数
1
解决办法
3784
查看次数

我得到"缺少这些必需的宝石",但安装了宝石

因为我使用Mac Ports(在Leopard上)更新了ruby,我遇到了一些问题,我也不得不重新安装宝石.现在,当我运行Mongrel时,我不断收到错误"缺少这些必需的宝石",然后是我在environment.rb中需要的宝石列表,但是当我看到运行时,宝石似乎已正确安装gem list.我认为rails正在寻找以前的安装,但我不知道如何配置它以使用新的ruby/gem路径.

谢谢!

ruby rubygems ruby-on-rails

7
推荐指数
2
解决办法
8816
查看次数

项目的页面和will_paginate

我有一些照片通过will_paginate插件在连续页面上拆分.当您打开照片然后使用链接返回所有照片时,您总是返回到第一页(例如,照片显示在第5页,您打开照片,单击链接以显示所有照片并期望您在第5页,但你在第1页).

现在,有没有办法获取照片所属的页码?

我试图传递一个GET参数,但这仅在用户不再执行任何操作时有效(例如发表评论,编辑照片,ecc.).

ruby pagination ruby-on-rails will-paginate

7
推荐指数
1
解决办法
3538
查看次数

无法使用chdir或不能使用Git存档

我创建了一个远程裸存储库:

cd ~
mkdir -p git/foto-fiori.git
cd git/foto-fiori.git
git init --bare

然后我添加了它:

git remote add origin collimarco@foto-fiori.com:/home/collimarco/git/foto-fiori.git

我明白了:

$ git push
fatal: '/home/collimarco/git/foto-fiori.git': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly

我也试过用〜/ git/foto-fiori.git,但是一样......

我很绝望:我该怎么做?

git

7
推荐指数
1
解决办法
8861
查看次数

"回到顶部"链接,它有用吗?

许多网站在其页脚中显示"返回顶部"链接.其他人,更糟糕的是,整个页面都有这个链接.

就个人而言,我从未使用过任何一种,但可能是我很奇怪.

你认为这是一个有用的链接吗?

更新:当我很少需要直接回到顶部时,我使用CMD +向上箭头

navigation hyperlink

6
推荐指数
1
解决办法
641
查看次数

Ruby On Rails本身是Rack应用吗?

所以我从Rack文档中推断出,但也许我错了......

rack ruby-on-rails

5
推荐指数
1
解决办法
470
查看次数

在Rails中使用find params [:id]是否安全?

以下表达式在Rails中很常见:

@project = Project.find params[:id] # example 1

@project = current_user.projects.find params[:project_id] # example 2
Run Code Online (Sandbox Code Playgroud)

但是我意识到它find也接受数组!这将意味着代码的意外和潜在危险行为,这是在假设@project是单个项目而不是数组的情况下编写的.

现在的问题是:

  • params[:id].to_s每次我使用它时我应该进行类型转换find吗?
  • 我应该使用强参数find以避免数组?find params.permit(:id)[:id])?(比to_s你不想转换的nil更好"")
  • 还有其他替代方案或常见做法吗?

仅当路由未定义具有该名称的参数时,才会出现上述漏洞.

例如:

# SAFE routes.rb
resources :projects

# projects_controller.rb
Project.find params[:id]
Run Code Online (Sandbox Code Playgroud)

查询/projects/3?id[]=4&id[]=5{id: 3}作为参数生成.这将使Project.find params[:id]安全使用:但是我找不到任何关于这种行为的文档,我不知道依赖它是否安全:也许只是偶然.

此外,以下内容完全不相同,并会在控制器中创建漏洞:

# Likely UNSAFE routes.rb
# E.g.: 
# /projects?id=3 => params = {id: 3}
# /projects?id[]=3&id[]=4 => params …
Run Code Online (Sandbox Code Playgroud)

security ruby-on-rails ruby-on-rails-4 rails-activerecord

5
推荐指数
1
解决办法
831
查看次数

我们可以使用 AWS SNS 发送 Web 推送通知吗

我们可以使用 AWS SNS 服务在移动设备和 Web 浏览器上发送 Web 推送通知吗?

我阅读了SNS的完整文档,但没有找到任何相关内容,只是想确认一下是否支持像下面这样的服务的Web推送通知。

https://sendpulse.com

https://www.moengage.com/

https://onesignal.com/

push-notification amazon-web-services amazon-sns web-push

5
推荐指数
1
解决办法
1万
查看次数

在 Rails 6 和 Puma 上仍然需要工作启动时建立连接吗?

我在 Heroku 上读到,对于 Rails(他们说 4+),当我使用多个工作人员并预加载应用程序时,我应该向 Puma 添加以下指令:

on_worker_boot do
  ActiveRecord::Base.establish_connection
end
Run Code Online (Sandbox Code Playgroud)

但是我有两个preload_app!和多个workers没有那个代码......而且该应用程序似乎工作正常。

我错过了什么吗?那还需要吗?什么目的?

ruby-on-rails heroku puma ruby-on-rails-6

5
推荐指数
1
解决办法
506
查看次数