Authentication 炼油厂CMS+;设计:定制用户可以';找不到设备帮助程序(如何添加单独的设备身份验证)?
我有一个问题,一开始看起来并不难,但实际上我解决不了。 我正在尝试使用炼油厂作为应用程序的CMS。我想把炼油厂用户和其他类型的用户分开,称他们为mktgeistusers,他们需要注册和登录才能访问一些受保护的页面。因此,我首先创建了一个没有精炼的应用程序(仅使用designe),以确保一切正常(从身份验证方面)。这里没问题。下一步是通过执行以下操作创建全新的炼油厂装置:Authentication 炼油厂CMS+;设计:定制用户可以';找不到设备帮助程序(如何添加单独的设备身份验证)?,authentication,devise,helpers,refinerycms,Authentication,Devise,Helpers,Refinerycms,我有一个问题,一开始看起来并不难,但实际上我解决不了。 我正在尝试使用炼油厂作为应用程序的CMS。我想把炼油厂用户和其他类型的用户分开,称他们为mktgeistusers,他们需要注册和登录才能访问一些受保护的页面。因此,我首先创建了一个没有精炼的应用程序(仅使用designe),以确保一切正常(从身份验证方面)。这里没问题。下一步是通过执行以下操作创建全新的炼油厂装置: refinerycms testRefineryPlusDevise -d mysql add other refi
refinerycms testRefineryPlusDevise -d mysql
add other refinery gems to the Gemfile
gem 'refinerycms-i18n', '~> 2.0.0'
gem 'refinerycms-blog', '~> 2.0.0'
gem 'refinerycms-inquiries', '~> 2.0.0'
gem 'refinerycms-search', '~> 2.0.0', :git => 'git://github.com/refinery/refinerycms-search.git', :branch => '2-0-stable'
gem 'refinerycms-page-images', '~> 2.0.0'
gem "refinerycms-news", '~> 2.0.0'
bundle update
rails generate refinery:blog
rails generate refinery:inquiries
rails generate refinery:news
rake db:migrate
这创造了一切,因为它应该是。当我继续创建新类型的用户时,问题就开始了:
rails generate devise Mktgeistuser
invoke active_record
create db/migrate/20121019201721_devise_create_mktgeistusers.rb
create app/models/mktgeistuser.rb
invoke test_unit
create test/unit/mktgeistuser_test.rb
create test/fixtures/mktgeistusers.yml
insert app/models/mktgeistuser.rb
route devise_for :mktgeistusers
rake db:migrate
用户现在已创建。然后,我添加了一个静态页面,用于测试登录/注销链接,并添加了以下路由:
#devise_for :mktgeistusers
devise_for :mktgeistuser, :controllers=>{:sessions=>"mktgeistuser/sessions"} do
match '/mktgeistuser/sign_out', :action=>"destroy", :controller=>"devise/sessions"
match '/mktgeistuser/sign_in', :action=>"new", :controller=>"devise/sessions"
match '/mktgeistuser/sign_up', :action=>"new", :controller=>"devise/registrations"
end
root :to => "static#home"
default of "refinery"
mount Refinery::Core::Engine, :at => '/refinery'
在static/home中,有以下内容:
<h1>Static#home</h1>
<p>
Find me in app/views/static/home.html.erb
</p>
<div id="user_nav">
<% if mktgeistuser_signed_in? %>
Signed in as <%= current_mktgeistuser.email %>.
<%= link_to "Sign out", destroy_mktgeistuser_session_path, :method => :delete %>
<% else %>
<%= link_to 'Register', new_mktgeistuser_registration_path %> or <%= link_to 'Sign in', new_mktgeistuser_session_path %>
<% end %>
</div>
<%= javascript_include_tag :defaults %>
Static#home
在app/views/static/home.html.erb中查找我
以身份登录。
:删除%>
或
问题是,在使用refinery时,应用程序找不到适用于mktgeist用户的Desive helpers:当我单击登录/注册链接时,我会得到
NoMethodError in Devise/sessions#new
Showing /home/mike/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.0.4/app/views/devise/sessions/new.html.erb where line #3 raised:
undefined method `mktgeistuser_session_path' for #<ActionDispatch::Routing::RoutesProxy:0xdeb1d6c>
Extracted source (around line #3):
1: <h2>Sign in</h2>
2:
3:
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
4: <div><%= f.label :email %><br />
5: <%= f.email_field :email %></div>
6:
designe/sessions中的命名错误#新增
显示/home/mike/.rvm/gems/ruby-1.9.2-p290/gems/designe-2.0.4/app/views/designe/sessions/new.html.erb,其中第3行出现:
未定义的方法“mktgeistuser\u session\u path”#
提取的源(第3行附近):
1:登录
2:
三:
资源名称:url=>会话路径(资源名称))do | f |%>
4:
5:
6:
类似地,无法找到destroy_mktgeistuser_session_path new_mktgeistuser_registration_path和new_mktgeistuser_session_path。
你有办法解决这个问题吗
顺便说一句,这是一个rake路由输出
static_home GET /static/home(.:format) static#home
mktgeistuser_sign_out /mktgeistuser/sign_out(.:format) devise/sessions#destroy
mktgeistuser_sign_in /mktgeistuser/sign_in(.:format) devise/sessions#new
mktgeistuser_sign_up /mktgeistuser/sign_up(.:format) devise/registrations#new
new_mktgeistuser_session GET /mktgeistuser/sign_in(.:format) mktgeistuser/sessions#new
mktgeistuser_session POST /mktgeistuser/sign_in(.:format) mktgeistuser/sessions#create
destroy_mktgeistuser_session DELETE /mktgeistuser/sign_out(.:format) mktgeistuser/sessions#destroy
mktgeistuser_password POST /mktgeistuser/password(.:format) devise/passwords#create
new_mktgeistuser_password GET /mktgeistuser/password/new(.:format) devise/passwords#new
edit_mktgeistuser_password GET /mktgeistuser/password/edit(.:format) devise/passwords#edit
PUT /mktgeistuser/password(.:format) devise/passwords#update
cancel_mktgeistuser_registration GET /mktgeistuser/cancel(.:format) devise/registrations#cancel
mktgeistuser_registration POST /mktgeistuser(.:format) devise/registrations#create
new_mktgeistuser_registration GET /mktgeistuser/sign_up(.:format) devise/registrations#new
edit_mktgeistuser_registration GET /mktgeistuser/edit(.:format) devise/registrations#edit
PUT /mktgeistuser(.:format) devise/registrations#update
DELETE /mktgeistuser(.:format) devise/registrations#destroy
root / static#home
refinery / Refinery::Core::Engine
Routes for Refinery::Core::Engine:
/system/resources/*dragonfly(.:format) <Dragonfly::App name=:refinery_resource
s >
insert_admin_resources GET /refinery/resources/insert(.:format) refinery/admin/resources#insert
admin_resources GET /refinery/resources(.:format) refinery/admin/resources#index
POST /refinery/resources(.:format) refinery/admin/resources#create
new_admin_resource GET /refinery/resources/new(.:format) refinery/admin/resources#new
edit_admin_resource GET /refinery/resources/:id/edit(.:format) refinery/admin/resources#edit
admin_resource PUT /refinery/resources/:id(.:format) refinery/admin/resources#update
DELETE /refinery/resources/:id(.:format) refinery/admin/resources#destroy
/system/images/*dragonfly(.:format) <Dragonfly::App name=:refinery_images >
insert_admin_images GET /refinery/images/insert(.:format) refinery/admin/images#insert
admin_images GET /refinery/images(.:format) refinery/admin/images#index
POST /refinery/images(.:format) refinery/admin/images#create
new_admin_image GET /refinery/images/new(.:format) refinery/admin/images#new
edit_admin_image GET /refinery/images/:id/edit(.:format) refinery/admin/images#edit
admin_image PUT /refinery/images/:id(.:format) refinery/admin/images#update
DELETE /refinery/images/:id(.:format) refinery/admin/images#destroy
admin_dashboard GET /refinery/dashboard(.:format) refinery/admin/dashboard#index
admin_disable_upgrade_message /refinery/disable_upgrade_message(.:format) refinery/admin/dashboard#disable_upgrad
e_message
/system/resources/*dragonfly(.:format) <Dragonfly::App name=:refinery_resource
s >
GET /refinery/resources/insert(.:format) refinery/admin/resources#insert
GET /refinery/resources(.:format) refinery/admin/resources#index
POST /refinery/resources(.:format) refinery/admin/resources#create
GET /refinery/resources/new(.:format) refinery/admin/resources#new
GET /refinery/resources/:id/edit(.:format) refinery/admin/resources#edit
PUT /refinery/resources/:id(.:format) refinery/admin/resources#update
DELETE /refinery/resources/:id(.:format) refinery/admin/resources#destroy
/system/images/*dragonfly(.:format) <Dragonfly::App name=:refinery_images >
GET /refinery/images/insert(.:format) refinery/admin/images#insert
GET /refinery/images(.:format) refinery/admin/images#index
POST /refinery/images(.:format) refinery/admin/images#create
GET /refinery/images/new(.:format) refinery/admin/images#new
GET /refinery/images/:id/edit(.:format) refinery/admin/images#edit
PUT /refinery/images/:id(.:format) refinery/admin/images#update
DELETE /refinery/images/:id(.:format) refinery/admin/images#destroy
admin_dashboard GET /refinery/dashboard(.:format) refinery/admin/dashboard#index
admin_disable_upgrade_message /refinery/disable_upgrade_message(.:format) refinery/admin/dashboard#disable_upgrad
e_message
/system/resources/*dragonfly(.:format) <Dragonfly::App name=:refinery_resource
s >
GET /refinery/resources/insert(.:format) refinery/admin/resources#insert
GET /refinery/resources(.:format) refinery/admin/resources#index
POST /refinery/resources(.:format) refinery/admin/resources#create
GET /refinery/resources/new(.:format) refinery/admin/resources#new
GET /refinery/resources/:id/edit(.:format) refinery/admin/resources#edit
PUT /refinery/resources/:id(.:format) refinery/admin/resources#update
DELETE /refinery/resources/:id(.:format) refinery/admin/resources#destroy
/system/images/*dragonfly(.:format) <Dragonfly::App name=:refinery_images >
GET /refinery/images/insert(.:format) refinery/admin/images#insert
GET /refinery/images(.:format) refinery/admin/images#index
POST /refinery/images(.:format) refinery/admin/images#create
GET /refinery/images/new(.:format) refinery/admin/images#new
GET /refinery/images/:id/edit(.:format) refinery/admin/images#edit
PUT /refinery/images/:id(.:format) refinery/admin/images#update
DELETE /refinery/images/:id(.:format) refinery/admin/images#destroy
admin_dashboard GET /refinery/dashboard(.:format) refinery/admin/dashboard#index
admin_disable_upgrade_message /refinery/disable_upgrade_message(.:format) refinery/admin/dashboard#disable_upgrad
e_message
news_root /news(.:format) refinery/news/items#index
news_items_archive GET /news/archive/:year(/:month)(.:format) refinery/news/items#archive
news_items GET /news(.:format) refinery/news/items#index
news_item GET /news/:id(.:format) refinery/news/items#show
news_admin_root /refinery/news(.:format) refinery/news/admin/items#index
news_admin_items GET /refinery/news/items(.:format) refinery/news/admin/items#index
POST /refinery/news/items(.:format) refinery/news/admin/items#create
new_news_admin_item GET /refinery/news/items/new(.:format) refinery/news/admin/items#new
edit_news_admin_item GET /refinery/news/items/:id/edit(.:format) refinery/news/admin/items#edit
news_admin_item PUT /refinery/news/items/:id(.:format) refinery/news/admin/items#update
DELETE /refinery/news/items/:id(.:format) refinery/news/admin/items#destroy
search /search(.:format) refinery/search#show
inquiries_new_inquiry GET /contact(.:format) refinery/inquiries/inquiries#new
thank_you_inquiries_inquiries GET /contact/thank_you(.:format) refinery/inquiries/inquiries#thank_you
inquiries_inquiries POST /contact(.:format) refinery/inquiries/inquiries#create
spam_inquiries_admin_inquiries GET /refinery/inquiries/spam(.:format) refinery/inquiries/admin/inquiries#spam
toggle_spam_inquiries_admin_inquiry GET /refinery/inquiries/:id/toggle_spam(.:format) refinery/inquiries/admin/inquiries#togg
le_spam
inquiries_admin_inquiries GET /refinery/inquiries(.:format) refinery/inquiries/admin/inquiries#inde
x
inquiries_admin_inquiry GET /refinery/inquiries/:id(.:format) refinery/inquiries/admin/inquiries#show
DELETE /refinery/inquiries/:id(.:format) refinery/inquiries/admin/inquiries#dest
roy
edit_inquiries_admin_setting GET /refinery/inquiries/settings/:id/edit(.:format) refinery/inquiries/admin/settings#edit
inquiries_admin_setting PUT /refinery/inquiries/settings/:id(.:format) refinery/inquiries/admin/settings#updat
e
blog_root /blog(.:format) refinery/blog/posts#index
blog_post GET /blog/posts/:id(.:format) refinery/blog/posts#show
blog_rss_feed /blog/feed.rss(.:format) refinery/blog/posts#index {:format=>"rs
s"}
blog_category /blog/categories/:id(.:format) refinery/blog/categories#show
blog_comments /blog/:id/comments(.:format)
static_home GET/static/home(:格式)static#home
mktgeistuser_注销/mktgeistuser/sign_注销(:格式)设计/会话#销毁
mktgeistuser#sign#in/mktgeistuser/sign#in(:格式)设计/会话#新建
mktgeistuser\u注册/mktgeistuser/sign\u注册(:格式)设计/注册#新
在(:格式)mktgeistuser/sessions中新建会话GET/mktgeistuser/sign
mktgeistuser#会话POST/mktgeistuser/sign#U in(:格式)mktgeistuser/sessions#create
销毁会话删除/mktgeistuser/注销(:格式)mktgeistuser/sessions\destroy
mktgeistuser#u密码发布/mktgeistuser/密码(:格式)设计/密码#创建
new_mktgeistuser_password GET/mktgeistuser/password/new(:format)designe/passwords#new
编辑(mktgeistuser)密码获取/mktgeistuser/密码/编辑(:格式)设计/密码#编辑
PUT/mktgeistuser/password(:格式)designe/passwords#update
取消(mktgeistuser)注册获取/mktgeistuser/取消(:格式)设计/注册#取消
mktgeistuser#U注册站/mktgeistuser(:格式)设计/注册#创建
新的(mktgeistuser)注册获取/mktgeistuser/注册(:格式)设计/注册#新
编辑_mktgeistuser_注册获取/mktgeistuser/edit(:格式)设计/注册#编辑
PUT/mktgeistuser(:格式)设计/注册#更新
删除/mktgeistuser(:格式)设计/注册#销毁
根/静态#主
炼油厂/炼油厂::核心::发动机
炼油厂路线::核心::引擎:
/系统/资源/*蜻蜓(:格式)
insert_admin_resources GET/refinery/resources/insert(:格式)refinery/admin/resources#insert
管理员/资源获取/精炼厂/资源(:格式)精炼厂/管理员/资源#索引
发布/精炼/资源(:格式)精炼/管理/资源#创建
新建\管理\资源获取/精炼厂/资源/新建(:格式)精炼厂/管理/资源\新建
编辑\管理\资源获取/提炼/资源/:id/编辑(:格式)提炼/管理/资源\编辑
管理员/资源放置/精炼厂/资源/:id(:格式)精炼厂/管理员/资源#更新
删除/提炼/资源/:id(:格式)提炼/管理/资源#销毁
/系统/图像/*蜻蜓(:格式)
insert_admin_images GET/refinery/images/insert(:format)refinery/admin/images#insert
管理员图片获取/精炼厂/图片(:格式)精炼厂/管理员/图片索引
发布/精炼/图像(:格式)精炼/管理/图像#创建
新建_admin_image GET/refinery/images/new(:format)refinery/admin/images#new
编辑_admin_image GET/refinery/images/:id/edit(:format)refinery/admin/images#edit
管理员(image PUT/refinery/images/:id(:format)refinery/admin/images#update
删除/refinery/images/:id(:format)refinery/admin/im
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) %>
<%= form_for(resource, :as => resource_name, :url => mktgeistuser_session_path) %>