标签: ruby-on-rails-plugins

将行为的标签数量限制为可标记的

我想知道如何限制标签的数量,tag_cloud函数为此插件返回.http://github.com/collectiveidea/acts-as-taggable-on

另外,我想知道如何订购,以便按最高计数对标签进行排序.所以最受欢迎的是顶部.

我试着做@tags = Post.tag_counts_on(:tags,:limit => 5),但这不起作用.

控制器:

class PostController < ApplicationController
  def tag_cloud
     @tags = Post.tag_counts_on(:tags)
  end
end
Run Code Online (Sandbox Code Playgroud)

视图:

 <% tag_cloud @tags, %w(css1 css2 css3 css4) do |tag, css_class| %>
    <%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %>
 <% end %>
Run Code Online (Sandbox Code Playgroud)

谢谢!

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

4
推荐指数
1
解决办法
839
查看次数

rails 3中的Restful API

我应该如何在rails 3 app中创建一个安静的API?另外我想知道是否有一种很好的方法来实现restful身份验证

ruby api restful-authentication ruby-on-rails-plugins ruby-on-rails-3

4
推荐指数
1
解决办法
2523
查看次数

如何正确扩展 Rails Engine 的控制器?

我正在开发名为 Carrier ( https://github.com/stanislaw/carrier ) 的Rails 插件(它是 3.1 引擎)。

在我的一个 rails 应用程序中,我想用一些新方法扩展 Carrier 的控制器 - fx。将新操作 #comment_form 添加到 Carrier::MessagesController(我希望此操作仅存在于我的应用程序中 - 我不想将其添加到引擎中 - 因为它非常具体)。

我在这里看到的两种策略:

1)我将{Carrier's plugin root}/app/controllers/carrier/messages_controller.rb文件复制到我的应用程序的app/controllers/carrier/文件夹中,然后扩展它(所有插件的原始操作也被复制到rails应用程序控制器文件夹中! )。

2)我想要的更准确的方法 - 只是创建 {My rails app}/app/controllers/carrier/messages_controller.rb 并只写#comment_form 方法,我希望 Carrier 扩展。

期望两个控制器的内容(来自插件文件夹+自定义在我的 Rails 应用程序中只有新的#comment_form)会叠加,我尝试了第二种方式。但是 Rails 然后停止识别来自 Carrier 插件文件夹的 messages_controller.rb 中写入的所有原始 Carrier 操作(#index、#show 等...),并开始将 Rails 应用程序的 messages_controller.rb 版本视为唯一一个(所有原始操作都开始处理为空,因此开始通过 Rails 约定的默认流程呈现)。

所以我的一般问题是:如何将新操作添加到 Rails Engines 控制器而不将它们完全复制到 Rails app/controllers 文件夹?

UPD

现在,我看到了两种解决方案,它们允许在没有严重黑客攻击的情况下扩展引擎的控制器(就像这个 gem 所做的那样:https : //github.com/asee/mixable_engines来自这个线程:在主应用程序中扩展 Rails 3 引擎的控制器

1) 在 #{main_app}/app/controller/your_engine 文件夹中的 …

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

4
推荐指数
1
解决办法
3321
查看次数

使用Fog和Amazon S3的公共URL

所有RubyGems的版本.我使用Ruby on Rails 3.1.3,Ruby 1.9.2,CarrierWave 0.5.8和Fog 1.1.2.

我也使用CarrierWave RubyGem进行图像上传,使用Fog RubyGem进行Amazon S3文件上传.

在我的CarrierWave初始化文件中,我有:

CarrierWave.configure do |config|
 config.fog_credentials = {
    provider: 'AWS',
    aws_access_key_id: 'xxx',
    aws_secret_access_key: 'xxx'
  }
  if Rails.env.production?
    config.fog_directory = 'bucket1'
  elsif Rails.env.development?
    config.fog_directory = 'bucket2'
  else
    config.fog_directory = 'bucket3'
  end

  config.fog_public = false
  config.fog_authenticated_url_expiration = 60
end
Run Code Online (Sandbox Code Playgroud)

我有一个上传者文件:

class PageAttachmentUploader < CarrierWave::Uploader::Base
 CarrierWave.configure do |config|
   if Rails.env.development? || Rails.env.development? || Rails.env.production?
    config.fog_public = true
   end
  end

 storage :fog
end
Run Code Online (Sandbox Code Playgroud)

我有两个上传者文件.我想把一个设置为私有,一个设置为公共.

我正在尝试在调用PageAttachmentUploader时覆盖CarrierWave配置并将URL设置为public.这在本地计算机中就像魅力一样,但在登台,沙箱和生产中不起作用.

我在CarrierWave初始化器中更改了config.fog_public = true.即使这在沙盒中也不起作用.我该如何解决这个问题?

ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3 ruby-on-rails-3.1

4
推荐指数
1
解决办法
5249
查看次数

创建新 Rails 引擎时的 gemspec 错误

我正在尝试使用以下链接创建 rails 引擎:http : //guides.rubyonrails.org/engines.html

我收到以下错误

您有一个或多个无效的 gemspec 需要修复。/home/shariq/Documents/plugin/blorgh/blorgh.gemspec 中的 gemspec 无效。请修复此 gemspec。

验证错误是 '"FIXME" or "TODO" is not a description'

我已经尝试过捆绑更新和捆绑安装

这是我的全部工作

日志
shariq@SDEV-MACHINE:~/Documents/plugin$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
shariq@SDEV-MACHINE:~/Documents/plugin$ rails -v
Rails 5.0.0.1
shariq@SDEV-MACHINE:~/Documents/plugin$ mysql --version
mysql  Ver 14.14 Distrib 5.7.15, for Linux (x86_64) using  EditLine wrapper
shariq@SDEV-MACHINE:~/Documents/plugin$ rails plugin new blorgh --mountable -d mysql
      create  
      create  README.md
      create  Rakefile
      create  blorgh.gemspec
      create  MIT-LICENSE
      create  .gitignore
      create  Gemfile
      create  app
      create  app/controllers/blorgh/application_controller.rb
      create  app/helpers/blorgh/application_helper.rb …
Run Code Online (Sandbox Code Playgroud)

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

4
推荐指数
1
解决办法
3755
查看次数

为最新的Rails创建"朋友"系统/社交网络的最佳插件?

我正在寻找一个Rails插件,它可以简化Ruby on Rails最新版本的"朋友"系统或社交网络系统的开发.

在有人说之前......我知道,我应该自己创建,从头开始.我完全有能力(我认为).我只是在寻找一个好的插件,可以让我的生活变得更轻松一点.)给我一些想法供参考.

我尝试制作自己的身份验证系统,做了我认为没问题的事情,但后来切换到restful_authentication并意识到我的系统比较糟糕.

提前致谢...

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

3
推荐指数
1
解决办法
3801
查看次数

如何从Rails卸载插件(种子Fu)

我们安装了Seed Fu以在rails中添加种子数据,然后注意到它没有正常工作 - 进行一些挖掘,我们意识到Rails 2.3.8内置了种子,并且种子fu可能已被弃用.

现在我们正在尝试卸载种子fu,但不确定正确的方法.

我们使用了种子fu

script/plugin install git://github.com/mbleigh/seed-fu.git
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

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

3
推荐指数
1
解决办法
2781
查看次数

在rails中生成excel

我正在尝试在轨道上创建ruby中的excel表.所以我使用了插件Rexcel.当我运行应用程序时,我收到以下错误.

未初始化的常量Rexcel :: Workbook :: Builder

我添加了以下代码,然后这个错误命中

workbook = Rexcel::Workbook.new

worksheet = workbook.add_worksheet("Customers")

worksheet.add_line("name","test")

headers['Content-Type'] = "application/vnd.ms-excel"

headers['Content-Disposition'] = 'attachment; filename="excel-export.xlsx"'
headers['Cache-Control'] = 'max-age=0'
headers['pragma']="public"
workbook.build
Run Code Online (Sandbox Code Playgroud)

怎么解决这个?

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

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

使用Ruby 1.8.7的未定义方法`has_attached_file',带有paperclip 2.3.8 gem for Rails 2

我正在尝试使用我的rails应用程序中的paperclip插件上传帖子的图像.我在Ubuntu 10.04操作系统上使用Rails 2.0.2和ruby 1.8.7用于项目特定目的.

我指的是以下教程: -

  1. http://railscasts.com/episodes/134-paperclip?view=comments

  2. http://jimneath.org/2008/04/17/paperclip-attaching-files-in-rails.html

我通过以下方式在paperclip插件上做了一个git clone: - https://github.com/thoughtbot/paperclip,但命令就像ruby script/generate paperclip group_post photo没有为它生成迁移.然后,我通过ruby脚本/生成创建了相同的迁移,并上传了我的表的相应列group_posts.

然后我尝试安装gem,因为我使用activerecord和activesupport 2.0.2我使用了rubygems.org的paperclip 2.3.8 gem.未定义的方法错误仍然存​​在,我真的无法弄清楚为什么.

现在这里......这个命令 ruby script/generate paperclip group_post photo对我来说非常好.

我得到的当前错误看起来像这样: -

undefined method `has_attached_file' for #<Class:0xb67119f0>
Run Code Online (Sandbox Code Playgroud)

我观察到这个行为的一个有趣的事情是当我使用IRB时require 'paperclip'返回,true但我想知道为什么他们无法检测我的rails应用程序中插件附带的方法.

应用程序跟踪的同样是: -

/home/mohnish/.rvm/gems/ruby-1.8.7-p334/gems/activerecord-2.0.2/lib/active_record/base.rb:1532:in `method_missing_without_paginate'
vendor/plugins/will_paginate/lib/will_paginate/finder.rb:170:in `method_missing'
app/models/group_post.rb:9
app/controllers/groups_controller.rb:27:in `show'
Run Code Online (Sandbox Code Playgroud)

以下是完整跟踪案例: -

/home/mohnish/.rvm/gems/ruby-1.8.7-p334/gems/activerecord-2.0.2/lib/active_record/base.rb:1532:in `method_missing_without_paginate'
vendor/plugins/will_paginate/lib/will_paginate/finder.rb:170:in `method_missing'
app/models/group_post.rb:9
/home/mohnish/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in `load_without_new_constant_marking'
/home/mohnish/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in `load_file'
/home/mohnish/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
/home/mohnish/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:202:in `load_file'
/home/mohnish/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:94:in `require_or_load'
/home/mohnish/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:248:in `load_missing_constant'
/home/mohnish/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:453:in `const_missing_not_from_s3_library'
/home/mohnish/.rvm/gems/ruby-1.8.7-p334/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:206:in …
Run Code Online (Sandbox Code Playgroud)

ruby file-upload ruby-on-rails paperclip ruby-on-rails-plugins

3
推荐指数
1
解决办法
5031
查看次数

无法在rails 2.3.5中加载rspec生成器

我正在使用rails 2.3.5,我希望我们Rspec进行测试.我已经安装了rspec gem但是无法在生成器列表中列出rspec.我指的是https://github.com/rspec/rspec-rails.

group :development, :test do
  gem "rspec", "~> 1.3"
  gem "rspec-rails", "~> 1.3"
end

谢谢.

rspec ruby-on-rails ruby-on-rails-plugins rspec-rails ruby-on-rails-2

3
推荐指数
1
解决办法
461
查看次数