Rails Forem Engine路由不起作用

Pol*_*yov 0 ruby routes ruby-on-rails ruby-on-rails-4

我正在尝试在我的rails应用程序中安装Forem.我将它添加到我的Gemfile并正确安装.但是,每当我尝试在Forem的控制下加载页面(例如"/ forums")时,我就会看到NoMethodError与非Forem路由的链接.这些链接位于我的部分标题中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'>?</b></div>"), "#"%> 
    <%= link_to raw("<div>Reports <b class='carat'>?</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'>?</b></div>"), '#'%> 
    <%= link_to raw("<div>L.O.A</div>"), '#'%>
</div>
Run Code Online (Sandbox Code Playgroud)

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'
Run Code Online (Sandbox Code Playgroud)

错误:

Forem ::论坛#index中的NoMethodError

用于#<#:0x000000031583c8>的未定义方法`forem_path'

等等所有其他链接:

Forem ::论坛#index中的NoMethodError

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

Forem ::论坛#index中的NoMethodError

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

这必须与routes.rb范围有关,但我不确定如何让这些链接再次运行.

Jos*_*osh 8

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

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

root_path
Run Code Online (Sandbox Code Playgroud)

现在应该是:

main_app.root_path
Run Code Online (Sandbox Code Playgroud)

原因是Forem Rails引擎是一个单独的Rails应用程序,没有前缀的链接只能在当前的Rails应用程序(在这种情况下是主应用程序)中工作.