标签: ruby-on-rails-plugins

RoR &&"即将推出"页面

我正在寻找一种简单的方法来为Ruby on Rails上的项目实现简单的"即将推出"(发布前)页面.用户应该能够留下电子邮件,以便在项目启动时收到通知.

有这样的插件\宝石?或者我应该自己做...

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

5
推荐指数
2
解决办法
1992
查看次数

将rails应用程序部署到非root上下文 - restful_auth无效

我在http://www.naildrivin5.com/scalatour上运行一个rails应用程序.它工作正常.当我使用登录应用程序时restful_authentication,我会被带到http://www.naildrivin5.com而不是应用程序.奇怪的.

这似乎是我错误配置了一些东西.此外,还有一些地方我正在手工创建一些网址,我需要访问"应用程序上下文根"(即scalatour在我的情况下)才能正确地形成URL.我最终把它扔进了我的配置,但这似乎是错的.

带有Passenger的Apache运行Rails应用程序:

Apache conf:

<VirtualHost 69.89.3.135:80> 
  DocumentRoot /somewhere/naildrivin5.com/html
  ServerName naildrivin5.com 
  RailsBaseURI /scalatour  
  PassengerPoolIdleTime 5 
  # other things not related
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

passenger.conf:

LoadModule passenger_module /usr/share/passenger/ext/apache2/mod_passenger.so 
PassengerRoot /usr/share/passenger 
PassengerRuby /usr/bin/ruby 
PassengerLogLevel 2 
Run Code Online (Sandbox Code Playgroud)

/somewhere/naildrivin5.com/html/scalatour符号链接到我的Rails应用程序的public文件夹.

该应用程序工作正常,除了身份验证,使用restful_authentication.登录后,我被带到了Web服务器根目录,而不是应用程序根目录.

我应该如何/可以配置它,如何在运行时访问它,以及如何最好地配置我的本地开发环境来执行此操作(或不关心它)?

apache ruby-on-rails passenger ruby-on-rails-plugins

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

将Rails应用程序提取到插件或引擎中

我有一个Rails 2.3应用程序,我想提取到插件或引擎.该应用程序具有用户身份验证和祖先插件支持的基本cms功能.

我想将应用程序的逻辑提取到插件/引擎中,以便我可以将此代码用于将来的项目,如果需要,可以使用不同的"皮肤"或"主题".

我并不完全确定我真正了解插件和引擎概念之间的区别,所以这将是一个很好的第一点.

什么是最好的方法,有什么好的起点,链接,解释,我应该遵循的例子.另外,随着R3的发布需要考虑,关于插件等,我应该注意哪些事情.

我将首先观看Ryan的http://railscasts.com/episodes/149-rails-engines, 但显然已经超过一年了,所以我面临的挑战之一是找到最新的和有关该主题的相关信息.

所有的提示和帮助感激不尽.

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

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

i18n资产管理/翻译UI

我正在用i18n从头开始构建一个多语言的webapp,虽然我自己可以处理大量的yml文件,但我说的语言(非常)有限,并且最终会要求外界的帮助.

我想知道这里是否有人使用UI插件/ gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些不愿意或无法在存储库中处理100多个文件,处理语言数据.

谢谢和问候,安德拉斯

(如果你在rubyonrails上遇到过这个问题,请道歉 - 已经说过了)

ruby gem internationalization ruby-on-rails-plugins ruby-on-rails-3

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

Rails 3:在引擎中包含一个插件

我知道这听起来有点疯狂,但我正在构建一个能够驱动并绑定多个应用程序的引擎,并且由于所有应用程序都将使用给定的插件,我想知道我是否可以将插件放入引擎中.

所以我把它放在vendor/plugins中,但它似乎没有加载.

我一直在玩autoload_pathsrequire,但我一直没成功.

有谁知道这是否可能?或者您对我可能会尝试的内容有所了解吗?

谢谢!

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

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

在rails应用程序中上传视频

我需要在rails应用程序中使用"上传视频"插件.

任何人都可以告诉我如何做到这一点?

video file-upload ruby-on-rails ruby-on-rails-plugins

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

从Rails 3.1引擎访问模型

我在最后一天一直在和它搏斗,它正在驱使我努力!

作为一个学习练习,我决定将一些代码打包成Rails Gem.这段代码有一个控制器动作,一个路由,一个模型和一个帮助器,所以我认为最合适的创建Gem的方法是将它创建为Rails引擎.

除了一件事,一切似乎都运作良好.当我尝试从Controller或Views(使用引擎的应用程序)中引用模型时,例如:

@su = Shortener::ShortenedUrl.generate("http://stackoverflow.com")
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

uninitialized constant Shortener::ShortenerHelper::ShortenedUrl
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为当我从项目控制台执行代码时,不会发生错误.我认为这是因为我已将所有代码放入"Shortener"命名空间/模块中.我这样做是为了避免在其他应用程序中使用时发生冲突.

代码文件层次结构如下所示:

项目目录/文件列表的图像

这里是有问题的重要文件的类/模块声明代码(删除了内容)

应用程序/控制器/缩短器/ shortened_urls_controller

module Shortener
  class ShortenedUrlsController < ::ApplicationController

    # find the real link for the shortened link key and redirect
    def translate
      # convert the link...
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

应用程序/模型/缩略服务/ shortened_urls

module Shortener
  class ShortenedUrl < ActiveRecord::Base

    # a number of validations, methods etc  

  end 
end
Run Code Online (Sandbox Code Playgroud)

应用程序/佣工/缩略服务/ shortener_helper

module Shortener::ShortenerHelper

  # generate a url from either a url string, or a shortened url object
  def shortened_url(url_object, …
Run Code Online (Sandbox Code Playgroud)

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

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

生成引擎的模型和迁移

所以我正在开发一个新项目,它似乎是使用新引擎功能的绝佳选择.正如引擎所说,它自己的小应用程序,具有自己的视图和控制器和模型.这是我即将到来的地方.

我创建了我的测试应用程序,我将在其中安装新引擎.

rails new engine_app && cd engine_app
Run Code Online (Sandbox Code Playgroud)

然后我创建了新引擎

rails plugin new my_engine --mountable
Run Code Online (Sandbox Code Playgroud)

然后我将'gem'添加到engine_app的gemfile中

gem 'my_engine', :path => './my_engine'
Run Code Online (Sandbox Code Playgroud)

然后我将引擎安装在engine_app的路由中

mount MyEngine::Engine, :at => '/my_engine'
Run Code Online (Sandbox Code Playgroud)

然后我进入my_engine的虚拟应用程序并运行

rails generate model MyModel title:string body:text
Run Code Online (Sandbox Code Playgroud)

这是我遇到困惑的地方.根据我的理解,这应该生成一个命名空间表(我认为它将是my_engine_my_model).迁移文件中的表只是my_model.

其次,如何运行此迁移,并且仅在调用表时迁移文件是否正确:my_model?我试过运行以下但似乎没有发生任何事情,我已经检查了数据库,表格不存在.

回顾一下,我需要知道如何在引擎中创建迁移,并且能够正确地在父应用数据库上运行它们.

感谢您的帮助和指导.

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

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

如何在Rails引擎中创建问题?

我正在尝试在引擎内部创建一个问题,以便在将要安装此引擎的主应用程序中添加/覆盖此功能.问题是我遇到了问题,包括引擎模块中的问题.似乎Rails找不到它.

这是我的post.rb文件app/models/blorgh/post.rb:

module Blorgh
  class Post < ActiveRecord::Base
    include Blorgh::Concerns::Models::Post
  end
end
Run Code Online (Sandbox Code Playgroud)

这是我post.rb关心的问题lib/concerns/models/post.rb:

要求'active_support/concern'

module Concerns::Models::Post
  extend ActiveSupport::Concern

  # 'included do' causes the included code to be evaluated in the
  # conext where it is included (post.rb), rather than be 
  # executed in the module's context (blorgh/concerns/models/post).
  included do
    attr_accessible :author_name, :title, :text
    attr_accessor :author_name
    belongs_to :author, class_name: Blorgh.user_class
    has_many :comments

    before_save :set_author

    private
    def set_author
      self.author = User.find_or_create_by_name(author_name)
    end
  end

  def …
Run Code Online (Sandbox Code Playgroud)

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

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

有没有办法轻松重命名现有的Rails引擎?

有一个用于重命名现有Rails应用程序的插件 - https://github.com/get/Rename

但有没有一些解决方案可以轻松完全重命名现有的Rails引擎?

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

5
推荐指数
0
解决办法
418
查看次数