/OC/encuadernacion_papel .RB)レール5名前空間(コントローラ)に必要かどうか(モデル)で指定するモジュール名と同じモジュール内のモデル(APP /モデル/ <strong>OC</strong> /pedido.rbアプリ/モデルにおいて
私はpedido.rbでこれを行うことができます。
class Oc::Pedido < ActiveRecord::Base
has_many :encuadernaciones_papel, class_name: "EncuadernacionPapel"
- > "Ocの::" CLASS_NAMEでなし:has_many :enc... class_name: "Oc::EncuadernacionPapel"
をので、RailsはEncuadernacionPapelがOの範囲内であることを理解Cモジュール
私は "のOC ::" 省略するモジュール名を、 "Ocの" コントローラのコールPedidoクラス内の好きwoluld、それがクラッシュ:
アプリ/コントローラ/ OC /firmas_controller.rb
class Oc::LiquidacionController < ApplicationController
Pedido.find(...
代わりに私が指定する必要があります。
Oc::Pedido.find(...
なぜですか?これは正しいです?または私は何かを逃している?
どうもありがとう
これは、ルビのネストと定数ルックアップの仕組みによるものです。 http://cirw.in/blog/constant-lookup.html – max
応答のためにありがとう、まあ、私はこのような記事を読んで、私はモデルネスティングなどを控えていると思うが、私はRailsアプリケーションコントローラとモデル同じモジュールを共有するかもしれません...またはモデルとコントローラで "Oc"のanoderモジュールの親を行う必要がありますか? –
コントローラを 'module Oc'、' class LiquidacionController'として宣言すると、 'Oc'モジュールから' Pedido'を検索します。 – max