1

我必须编辑 Rails 应用程序,但在语言方面我是新手(我是 Ruby 和 Rails 的新手)。在查看源文件时,我提出了一些问题:

class Card < ActiveRecord::Base
    class CardRenderer < AbstractController::Base
        include AbstractController::Rendering
        include AbstractController::Helpers

        self.view_paths = Rails.application.config.paths["app/views"]

        helper_method :res_url

        def print(_card, _template)
             @card = _card
             render template: "prints/#{_template}.html"
        end

        protected
            def res_url(_res_name)
                "#{Rails.root}/app/views/prints/res/#{_res_name}"
            end
     end
     .......
     .......
     .......
end

我看到一个模型在另一个类中包含一个类你有这个语言特征的名字吗?

我如何从模型的实例中调用这个类?例如来自控制器(显然这不起作用):

@card::CardRenderer.new.print(@card, @template)

模型类内部的类具有呈现视图的功能

我可以从控制器中使用此功能吗?例如来自控制器(显然这也不起作用)

render Card::CardRenderer.new.print(@card, @template)

理想是我读一本书吗!,我会去做!但在这些日子里,我不能(时间问题)。

4

1 回答 1

1

你有这个语言功能的名字吗?

“嵌套类”,我认为

我如何从模型的实例中调用这个类?

@card.class::CardRenderer应该管用

模型类内部的类有一个呈现视图的函数。我可以从控制器使用此功能吗?

从头到尾阅读整个内容:http: //guides.rubyonrails.org/layouts_and_rendering.html


ps 我有一个偷偷摸摸的怀疑,应用程序的当前设计完全违背了模型-视图-控制器的想法

于 2013-01-26T08:24:50.257 回答