【问题标题】:Creating Controllers / Views for a Rails 4 Engine in App在 App 中为 Rails 4 引擎创建控制器/视图
【发布时间】:2014-06-13 20:29:25
【问题描述】:

使用 Rails 4 我有一个名为 Core 的引擎,其中包含我们正在使用的系统的业务规则和数据对象。这旨在精简并包含在几个不同的应用程序中。

我正在创建一个应用程序,其中将包含一些用于某些核心数据的特殊 CRUD 屏幕,但我不确定设置路由的最佳方式。

换句话说,我想为引擎模型创建视图和控制器在我的路由中不安装引擎。

但是,在运行rails g scaffold_controller core::rep 之后,我似乎无法加载 url 辅助方法。在我的 config/routes.rb 中:

namespace :core do
    resources :reps
end

rake 路由返回:

       Prefix Verb   URI Pattern                   Controller#Action
    core_reps GET    /core/reps(.:format)          core/reps#index  
              POST   /core/reps(.:format)          core/reps#create 
 new_core_rep GET    /core/reps/new(.:format)      core/reps#new    
edit_core_rep GET    /core/reps/:id/edit(.:format) core/reps#edit   
     core_rep GET    /core/reps/:id(.:format)      core/reps#show   
              PATCH  /core/reps/:id(.:format)      core/reps#update 
              PUT    /core/reps/:id(.:format)      core/reps#update 
              DELETE /core/reps/:id(.:format)      core/reps#destroy

这看起来不错。 但是,在导航到 URL 时:/core/reps

Showing /app/views/core/reps/index.html.erb where line #14 raised:
undefined method `edit_core_rep_path' for #<#<Class:0x00000002adf578>:0x00000002adc3a0>

我认为这意味着 url_helpers 没有正确设置,并且我越来越怀疑我以错误的方式处理这个问题。

我有什么遗漏吗?我应该尝试在应用中扩展引擎控制器吗?

我可以将应用程序的助手与引擎的模型一起使用吗?还是我必须安装引擎?

我知道我可以rails g scaffold_controller rep 然后只是修补控制器以从引擎加载数据,但这似乎不太正确。

【问题讨论】:

    标签: ruby-on-rails-4 rails-routing rails-engines


    【解决方案1】:

    你看过http://guides.rubyonrails.org/v4.1.8/engines.html#routes中的代理助手位吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-26
      • 1970-01-01
      • 2011-12-24
      • 2014-08-08
      • 1970-01-01
      • 2014-02-15
      相关资源
      最近更新 更多