Tag: 导轨发动机

Rails引擎中的自定义视图脚手架

我正在尝试从我的引擎中获取自定义脚手架。 我按照一些教程在普通的Rails应用程序中自定义Rails 3.2脚手架,并将我的自定义模板放在engines / lib / templates / erb / scaffold目录中,但它们不会被包含引擎的应用程序选中。 有什么建议? 更新:我还尝试覆盖Rails ScaffoldGenerator的source_path并尝试了一些其他路径来放入我的模板,例如: lib / rails / generators / erb / scaffold / templates

Rails引擎线程安全 – ActiveResource

我的Rails 3.1应用程序使用引擎,我想知道访问此引擎是否是线程安全的。 我在引擎中有/lib/mymodule.rb,它看起来像这样: module MyModule def self.my_method() begin data = WebResource.find(:all) # Where WebResource < ActiveResource::Base rescue data = nil end return data end end 然后在我的视图/控制器中,我将此方法称为: MyModule::WebResource.headers[:some_id] = cookies[:some_id] MyModule::my_method() 在我的主应用程序中,我有线程安全! 配置选项集。 我知道线程安全! 启用后,每个Controller都存在于每个请求的自己的线程中。 但是,这个模块线程安全吗? 我怀疑这个模块只有一个副本用于所有请求,因此它本身并不是线程安全的,并且需要使用类似Mutex的手动同步。 具体来说,我有一些代码,用于在ActiveResource类WebResource 之外设置HTTP请求的标头。 这会导致线程问题吗?

Rails引擎中的助手

我正在使用rails引擎,我对帮助器有问题。 显然这是一个已知的“问题”,但那里没有很多解决方案。 问题是我有一个我想要全局访问的AuthenticationHelper – 但它不起作用。 我已经读过你可以在你的init.rb添加几行但它似乎没有任何效果。 知道什么是在引擎中提供应用程序的最佳方法吗? 编辑:修正了 – 只需将代码(来自链接)放入engine.rb 。

Rails引擎:仅在重新启动服务器时重新加载助手

我目前正在尝试将function转移到引擎中。 到目前为止它运行良好,但我有点困惑为什么引擎的某些部分总是在发生变化时自动重新加载,而有些则不然。 具体来说,在添加辅助方法时,我必须重新启动Rails服务器,否则Rails不会看到它。 这是正常的行为吗? 这是我的引擎的相关部分: 组件/ iq_list.rb # encoding: utf-8 require ‘iq_list/engine’ # Load IqList Modules module IqList extend ActiveSupport::Autoload autoload :Helpers autoload :Models autoload :Controllers end 组件/ iq_list / engine.rb module IqList class Engine < ::Rails::Engine end end 组件/ iq_list / helpers.rb module IqList module Helpers extend ActiveSupport::Autoload autoload :IqListHelper end end 组件/ iq_list […]