0

我正在尝试在我的 rails 应用程序中安装 Forem。我将它添加到我的 Gemfile 并正确安装。但是,每当我尝试在 Forem 的控制下加载页面(例如“/forums”)时,我都会NoMethodError在非 Forem 路由的链接上获得 's。这些链接位于我的部分标题中application.html.erb,称为_header.html.erb

<div id="nav">
    <div id="nav-wrapper">
    <%= link_to raw("<div>Home</div>"), :root %>
    <%= link_to raw("<div>Forums</div>"), :forem %>
    <%= link_to raw("<div>Events</div>"), :events %>
    <%= link_to raw("<div>Applications <b class='carat'>▼&lt;/b></div>"), "#"%> 
    <%= link_to raw("<div>Reports <b class='carat'>▼&lt;/b></div>"), "#"%> 
    <%= link_to raw("<div>Tutorials</div>"), "#"%>
    <%= link_to raw("<div>Rules</div>"), '#'%>
    <%= link_to raw("<div>Roster</div>"), :roster %>
    <%= link_to raw("<div>Donations</div>"), '#'%>
    <%= link_to raw("<div>Media Center <b class='carat'>▼&lt;/b></div>"), '#'%> 
    <%= link_to raw("<div>L.O.A</div>"), '#'%>
</div>

routes.rb

mount Forem::Engine, :at => '/forums'  
resources :events
resources :news
devise_for :users
get 'roster' => "users#roster"
get 'news' => "news#index"
get 'profile/:user' => "users#profile", :as => :user_path
root 'news#index'

错误:

Forem::Forums#index 中的 NoMethodError

#<#:0x000000031583c8> 的未定义方法“forem_path”

对于所有其他链接,依此类推:

Forem::Forums#index 中的 NoMethodError

#<#:0x000000031583c8> 的未定义方法“events_path”

Forem::Forums#index 中的 NoMethodError

#<#:0x000000031583c8> 的未定义方法 `roster_path'

这与routes.rb' 范围有关,但我不确定如何让这些链接再次工作。

4

1 回答 1

8

我没有使用过 Forem,但我对 Monologue 也有同样的问题。我认为,如果您的标题中的链接指定它们是 main_app 的一部分,这将有所帮助。例子:

根路径的原始链接可能是:

root_path

现在应该是:

main_app.root_path

原因是 Forem Rails 引擎是一个单独的 Rails 应用程序,没有前缀的链接只能在当前的 Rails 应用程序(在本例中为主应用程序)中工作。

于 2013-08-21T20:04:49.610 回答