标签: ruby-on-rails-plugins

Rails插件

您认为"必须拥有"的一些您最喜欢的导轨插件是什么?

此条目列出了我在大多数rails应用程序中使用的一些我最喜欢的:我最喜欢的rails插件

ruby ruby-on-rails ruby-on-rails-plugins

15
推荐指数
2
解决办法
1639
查看次数

任何好的Rails示例/框架,用于对Ajax进行排序,过滤和分页

Ruby on Rails是否有任何开源(或示例)代码可以过滤,排序和分页某个模型?此外,如果结果可以通过Ajax返回,那将是很好的.在这个Trulia网页上可以看到我正在寻找的一个很好的例子

http://www.trulia.com/for_sale/30000-1000000_price/10001_zip/

(请注意,在检查过滤器时,结果会在不重新加载页面的情况下进行更新.)

这些类型的操作(过滤器,排序,分页)是如此常见,以至于有人必须为此编写一些东西.我可以自己搞清楚,但我希望有一个示例代码或一个gem提供我需要的功能.而且,我希望可以使用jQuery或原型来完成Ajax.

谢谢.

ajax rubygems ruby-on-rails ruby-on-rails-plugins

15
推荐指数
2
解决办法
8014
查看次数

在Ruby on Rails上支持移动设备

开发具有针对不同移动设备的特殊视图的rails应用程序的最佳方法是什么?基本上我正在寻找像这样的ASP.NET MVC解决方案:http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx

ruby ruby-on-rails mobile-website ruby-on-rails-plugins

14
推荐指数
3
解决办法
2万
查看次数

过滤器链暂停为[:login_required] rendered_or_redirected

希望我能够很好地解释这一点,但如果需要更多信息,请告诉我!

我正在构建一个用户可以创建"事件"的表单.此事件具有以下关系:

  • belongs_to:客户(客户has_many事件)
  • belongs_to:user(用户has_many事件)
  • has_one:incident_status(incident_status属于事件)

该表单允许用户将事件分配给用户(选择表单),然后选择事件状态.事件嵌套在客户中.

但是,我在服务器日志中获得以下内容:

Processing IncidentsController#create (for 127.0.0.1 at 2010-04-26 10:41:33) [POST]
Parameters: {"commit"=>"Create", "action"=>"create", 
"authenticity_token"=>"YhW++vd/dnLoNV/DSl1DULcaWq/RwP7jvLOVx9jQblA=", 
"customer_id"=>"4", "controller"=>"incidents", "incident"=>{"title"=>"Some Bad Incident", 
"incident_status_id"=>"1", "user_id"=>"2", "other_name"=>"SS01-042310-001"}}

User Load (0.3ms)   SELECT * FROM "users" WHERE ("users"."id" = 2) LIMIT 1
Redirected to http://localhost:3000/session/new
Filter chain halted as [:login_required] rendered_or_redirected.
Completed in 55ms (DB: 0) | 302 Found [http://localhost/customers/4/incidents]
Run Code Online (Sandbox Code Playgroud)

在我看来,它正在尝试收集有关用户的信息,即使它已经有了id(这是创建事件所需的全部内容),并且用户可能没有权限执行这样的select语句?我很困惑.

这是事件控制器中的相关(我认为)信息.

before_filter :login_required, :get_customer

def new
  @incident = @customer.incidents.build
  @users = @customer.users
  @statuses = IncidentStatus.find(:all)

  respond_to do |format|
    format.html # new.html.erb …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-plugins

13
推荐指数
2
解决办法
3万
查看次数

Mahout Plugin for ruby​​ on rails

我想在Ruby on Rails上的项目中使用Apache Mahout来实现建议和协作过滤.特别是我的要求是:

  1. 建议相关标签.
  2. 提出相关文章.
  3. 根据用户的偏好提示他审阅文章.
  4. 基于地理位置和用户的其他元信息,建议他类似的用户.

如果它可以轻松地与rails集成并满足我的要求,我愿意使用任何其他解决方案(除了mahout).

recommendation-engine ruby-on-rails ruby-on-rails-plugins mahout

12
推荐指数
2
解决办法
2275
查看次数

你使用哪个Ruby on Rails管理插件,为什么?不同管理宝石的优点和缺点是什么?

我们需要一个简单但安全的Rails管理插件.我们正在使用2.x,但正在考虑使用3.x的端口.

您使用哪个管理插件,为什么?其他人的利弊是什么?有一些管理插件可用,我们希望在选择之前吸取其他人的经验.

通过admin插件,我的意思是一个插件来帮助我们管理应用程序的数据和用户.

谢谢!

rubygems ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3

12
推荐指数
2
解决办法
4290
查看次数

将git管理的子目录切换到子模块

我们曾经在一个Rails应用程序中有一个本地黑客的delayed_job,在vendor/plugins/delayed_job中.它作为一次性事件安装并在主应用程序仓库中检入git.

现在我们决定在github上fork delayed_job并用git子模块替换子目录,如下所述:

http://doblock.com/articles/using-git-submodules-to-manage-plugins-in-rails

在此之前,我只是删除了vendor/plugins/delayed_job,而没有将其检入.现在,尽管添加了子模块,主repo中的git status仍显示vendor/plugins/delayed_job中的新文件.

我们应该如何处理删除作为repo一部分的子目录并使其保存git子模块的情况?在将子模块克隆到其位置之前,我们是应该首先使用git rm删除它,还是更彻底地删除它?

git ruby-on-rails-plugins git-submodules

12
推荐指数
1
解决办法
2601
查看次数

Rails 3为帖子创建评论系统的最佳方式

我第一次进入这里.

我正在尝试为我们的帖子模型添加评论系统.但是,由于种种原因,我不确定最好的解决方法.我希望评论系统与Forrst.com上的评论系统类似,但我宁愿让评论不需要帐户的访问者,因为该网站是我们公司的网站而不是一个大型社区.

功能概要是:

  1. 访客可以评论帖子,输入姓名,电子邮件和评论.
  2. 我们的团队成员可以发表评论,我希望这些设计风格不同,以便系统知道它来自我们的团队,他们将在发表评论时登录系统.
  3. 访客和团队成员可以回复评论.系统需要知道回复的是哪条评论.
  4. 最后,我希望系统知道评论是否由帖子作者撰写.

我已经看过并且一直在尝试act_as_commentable_with_threading这看起来很完美,除了每个人都需要一个用户帐户来发表评论,我试图避免的事情除非有人对此有其他想法吗?

我自己也通过创建注释模型并使用awesome_nested_set进行线程来实现.在评论模型中,我有一个user_id,只有在用户登录时才会填充(意味着他们必须是团队成员),但这看起来有点混乱.

有没有人对此有任何想法?

哦,我希望每个人都能收到回复他们评论的通知(如果是pos).

提前致谢.

ruby comments ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3

12
推荐指数
1
解决办法
9085
查看次数

启动或确保在应用程序/服务器重新启动时运行延迟作业

我们必须使用delayed_job(或其他一些后台作业处理器)在后台运行作业,但我们不允许更改服务器上的启动脚本/启动级别.这意味着如果提供程序重新启动服务器,则不保证守护程序仍然可用(因为守护程序将由每个部署仅运行一次的capistrano配方启动).

目前,我能够想到确保delayed_job守护程序始终运行的最佳方法是向我们的Rails应用程序添加初始化程序,以检查守护程序是否正在运行.如果它没有运行,那么初始化器启动守护进程,否则,它就会离开它.

因此,问题是我们如何检测到Delayed_Job守护程序是从脚本内部运行的?(我们应该能够相当容易地启动一个守护进程,我不知道如何检测一个守护进程是否已经激活).

有人有主意吗?

此致,伯尼

基于下面的答案,这就是我提出的.只需将它放在config/initializers中就可以了:

#config/initializers/delayed_job.rb

DELAYED_JOB_PID_PATH = "#{Rails.root}/tmp/pids/delayed_job.pid"

def start_delayed_job
  Thread.new do 
    `ruby script/delayed_job start`
  end
end

def process_is_dead?
  begin
    pid = File.read(DELAYED_JOB_PID_PATH).strip
    Process.kill(0, pid.to_i)
    false
  rescue
    true
  end
end

if !File.exist?(DELAYED_JOB_PID_PATH) && process_is_dead?
  start_delayed_job
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails background-process ruby-on-rails-plugins delayed-job

11
推荐指数
2
解决办法
8244
查看次数

在两个应用程序之间共享一个mongoid模型 - 使用引擎与插件

我想在我的rails应用程序之间共享2个(可能更多)之间的模型.我找不到任何明确的建议,但我找到了一些我已阅读过的问题和答案,并得出结论,必须使用"gemmed"插件引擎.我决定使用插件,因为我读到引擎只是一种"完整"的插件.

所以我使用以下方法创建了一个插件:( rails plugin new my_models --skip-active-record --skip-test-unit --dummy-path=spec/dummy选项用于跳过activerecord作为ORM并使用rspec进行测试).

创建插件后,我收到了以下文件:

my_models.gemspec  Gemfile  Gemfile.lock  lib  MIT-LICENSE  Rakefile  README.rdoc  spec
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下方法包含模型:

  1. 只需创建一个app/models目录并将我的模型放入其中
  2. 正如本教程中所建议的那样(我可以在devise的github中看到),我创建了一个生成器来尝试生成模型.

他们两个都失败了,然后我决定采用引擎建议(通过添加--mountable到"rails new"命令的选项列表),我得到了完整的rails应用程序结构(使用app,bin,db和其余的目录),把我的模型放在app/models目录中,它就像魔术一样!

因为我相信我是程序员而不是魔术师,所以我不会做这样的魔法,所以你能告诉我我的两个瘦插件解决方案(使用生成器/创建模型)有什么问题吗?而且,使用这些发电机有什么好处?

我附加了我的生成器代码,也许我想念一些东西:

require 'rails/generators/named_base'
require 'mongoid'

module Mongoid
  module AttackGenerator
    def generate_model
      invoke "mongoid:model", [name] unless model_exists? && behavior == :invoke
    end

    def inject_field_types
      inject_into_file model_path, migration_data, after: "include Mongoid::Document\n" if model_exists?
    end

    def migration_data
      field :link_url, type: String
      field :token, type: String
    end

    def model_exists?
      File.exists?(File.join(destination_root, model_path)) …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-plugins rails-engines

11
推荐指数
1
解决办法
197
查看次数