在同一模块内的模型(APP /模型/ OC /pedido.rb和app /模型/ OC/encuadernacion_papel .RB)导轨5命名空间需要(在控制器)或不是(模型)来指定的模块名称
我可以在pedido.rb做到这一点:
class Oc::Pedido < ActiveRecord::Base
has_many :encuadernaciones_papel, class_name: "EncuadernacionPapel"
- >无 “超频::” 在CLASS_NAME:has_many :enc... class_name: "Oc::EncuadernacionPapel"
所以,Rails的理解EncuadernacionPapel是内Ø C模块中
我woluld喜欢省略 “超频::” 模块名,内 “OC” 控制器时,呼叫Pedido类,但它崩溃:
应用程序/控制器/ OC /firmas_controller.rb
class Oc::LiquidacionController < ApplicationController
Pedido.find(...
相反,我必须注明:
Oc::Pedido.find(...
为什么呢?它是否正确?或我amb缺少什么?
非常感谢
这是由于嵌套和不断查找红宝石的方式。 http://cirw.in/blog/constant-lookup.html – max
感谢您的回应,好吧,我已经阅读了这样的帖子,我认为我理解模型嵌套等等,但是我认为比Rails应用程序控制器和模型可能共享相同的模块...或者我应该在模型和控制器中执行“Oc”的阳极模块父项吗? –
如果您将控制器声明为“模块Oc','class LiquidacionController',它将从'Oc'模块中查找'Pedido'。 – max