ruby-on-rails - 在Rails引擎 View 中缺少设计路线助手

标签 ruby-on-rails devise rails-engines

我正在构建一个名为Engrave的Rails引擎。

我像这样安装了引擎:

# Routes.rb of the host app
mount Engrave::Engine => "/engrave", :as => "engrave_engine"

在此引擎中,我有一个名为“PostsController”的 Controller 。当我导航到该 Controller 以查看这样的帖子:/engrave/posts/1时,出现此错误:
undefined local variable or method `new_user_session_path'

引擎中的PostsController是从引擎 Controller 继承的,而后者又是从应用程序 Controller 继承的,就像这样:
module Engrave
  class PostsController < ApplicationController
  ...
end

class Engrave::ApplicationController < ApplicationController
end

new_user_session_path由devise定义,我的设置如下:
devise_for :users

对new_user_session_path的调用位于主机应用程序中的layouts/application.html.erb模板文件中

我无法弄清楚为什么在这种情况下无法使用此路由助手。我究竟做错了什么?

最佳答案



main_app.new_user_session_path

那应该工作

关于ruby-on-rails - 在Rails引擎 View 中缺少设计路线助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712074/

相关文章:

mysql - ".save"仅在数据库中插入空值

ruby-on-rails - 从Devise::SessionsController继承的 Controller 中自定义操作的路由

ruby-on-rails - 切换每个 Controller 操作的设计身份验证模块

rubygems - Building Rails 3 引擎抛出 Gem::Package::TooLongFileName 错误

ruby-on-rails - 向rails select标签添加空白选项

ruby-on-rails - 简单 Action Controller 出错

ruby-on-rails - 从 Rails 控制台删除用户记录

ruby-on-rails - 一个引擎的*所有*规范是否预期存在于虚拟 Rails 应用程序中?

ruby-on-rails - rails 、叉叉和防护罩 : how to run many spork servers in parallel?

ruby-on-rails - rails 4 - 遍历查询结果