我正在寻找一种简单的方法来为Ruby on Rails上的项目实现简单的"即将推出"(发布前)页面.用户应该能够留下电子邮件,以便在项目启动时收到通知.
有这样的插件\宝石?或者我应该自己做...
我在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服务器根目录,而不是应用程序根目录.
我应该如何/可以配置它,如何在运行时访问它,以及如何最好地配置我的本地开发环境来执行此操作(或不关心它)?
我有一个Rails 2.3应用程序,我想提取到插件或引擎.该应用程序具有用户身份验证和祖先插件支持的基本cms功能.
我想将应用程序的逻辑提取到插件/引擎中,以便我可以将此代码用于将来的项目,如果需要,可以使用不同的"皮肤"或"主题".
我并不完全确定我真正了解插件和引擎概念之间的区别,所以这将是一个很好的第一点.
什么是最好的方法,有什么好的起点,链接,解释,我应该遵循的例子.另外,随着R3的发布需要考虑,关于插件等,我应该注意哪些事情.
我将首先观看Ryan的http://railscasts.com/episodes/149-rails-engines, 但显然已经超过一年了,所以我面临的挑战之一是找到最新的和有关该主题的相关信息.
所有的提示和帮助感激不尽.
我正在用i18n从头开始构建一个多语言的webapp,虽然我自己可以处理大量的yml文件,但我说的语言(非常)有限,并且最终会要求外界的帮助.
我想知道这里是否有人使用UI插件/ gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些不愿意或无法在存储库中处理100多个文件,处理语言数据.
谢谢和问候,安德拉斯
(如果你在rubyonrails上遇到过这个问题,请道歉 - 已经说过了)
ruby gem internationalization ruby-on-rails-plugins ruby-on-rails-3
我知道这听起来有点疯狂,但我正在构建一个能够驱动并绑定多个应用程序的引擎,并且由于所有应用程序都将使用给定的插件,我想知道我是否可以将插件放入引擎中.
所以我把它放在vendor/plugins中,但它似乎没有加载.
我一直在玩autoload_paths和require,但我一直没成功.
有谁知道这是否可能?或者您对我可能会尝试的内容有所了解吗?
谢谢!
我需要在rails应用程序中使用"上传视频"插件.
任何人都可以告诉我如何做到这一点?
我在最后一天一直在和它搏斗,它正在驱使我努力!
作为一个学习练习,我决定将一些代码打包成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
所以我正在开发一个新项目,它似乎是使用新引擎功能的绝佳选择.正如引擎所说,它自己的小应用程序,具有自己的视图和控制器和模型.这是我即将到来的地方.
我创建了我的测试应用程序,我将在其中安装新引擎.
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?我试过运行以下但似乎没有发生任何事情,我已经检查了数据库,表格不存在.
回顾一下,我需要知道如何在引擎中创建迁移,并且能够正确地在父应用数据库上运行它们.
感谢您的帮助和指导.
我正在尝试在引擎内部创建一个问题,以便在将要安装此引擎的主应用程序中添加/覆盖此功能.问题是我遇到了问题,包括引擎模块中的问题.似乎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) 有一个用于重命名现有Rails应用程序的插件 - https://github.com/get/Rename
但有没有一些解决方案可以轻松完全重命名现有的Rails引擎?