Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 设计不起作用的管理模型_Ruby On Rails_Ruby_Devise_Admin - Fatal编程技术网

Ruby on rails 设计不起作用的管理模型

Ruby on rails 设计不起作用的管理模型,ruby-on-rails,ruby,devise,admin,Ruby On Rails,Ruby,Devise,Admin,我是rails的新手,我正在构建一个类似博客的应用程序,名为story teller。我使用Desive注册,登录模式。我还调整并使用了Desive功能,允许我在注册期间添加用户名,然后使用用户名或电子邮件登录。接下来,我添加了Desive管理员模式。但是,当我转到管理员注册或登录页面时,它会抛出以下错误 : 设计中的命名错误::会话#新 : 设计中的命名错误::注册#新 这里是我的设计会话新表单,即设计/会话视图中的new.html.erb <h2>Log in</h2>

我是rails的新手,我正在构建一个类似博客的应用程序,名为story teller。我使用Desive注册,登录模式。我还调整并使用了Desive功能,允许我在注册期间添加用户名,然后使用用户名或电子邮件登录。接下来,我添加了Desive管理员模式。但是,当我转到管理员注册或登录页面时,它会抛出以下错误 : 设计中的命名错误::会话#新

: 设计中的命名错误::注册#新

这里是我的设计会话新表单,即设计/会话视图中的new.html.erb

<h2>Log in</h2>

<%= form_for(resource, as: resource_name,
url: session_path(resource_name)) do |f| %>
<div class="field">
<%= f.label :login %><br />
<%= f.text_field :login, autofocus: true %>
</div>

<div class="field">
<%= f.label :password %><br />
<%= f.password_field :password, autocomplete: "off" %>
</div>

<% if devise_mapping.rememberable? -%>
<div class="field">
<%= f.check_box :remember_me %>
<%= f.label :remember_me %>
</div>
<% end -%>

<div class="actions">
<%= f.submit "Log in" %>
</div>
<% end %>

<%= render "devise/shared/links" %>
登录


我的设计注册新表格,即设计/注册中的new.html.erb在这里

<h2>Sign up</h2>

<%= form_for(resource, as: resource_name,
url:     registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>

<div class="field">
<%= f.label :username %><br />
<%= f.text_field :username, autofocus: true %>
</div>


<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true %>
</div>

<div class="field">
<%= f.label :password %>
<% if @minimum_password_length %>
<em>(<%= @minimum_password_length %> characters minimum)</em>
<% end %><br />
<%= f.password_field :password, autocomplete: "off" %>
</div>

<div class="field">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation, autocomplete: "off" %>
</div>

<div class="actions">
<%= f.submit "Sign up" %>
</div>
<% end %>

<%= render "devise/shared/links" %>
注册


(最少字符)

这是我的admin.rb ie管理模型

class Admin < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
class Admin

我在这里很困惑,找不到解决办法。如果这些问题看起来很愚蠢,请原谅我。如果我需要补充更多信息,请告诉我。

请阅读Gjardon的回答如果您仍然有问题,请在routes.rb中发布您的designe路线供检查。嗨,之后它仍然不起作用参考gjaldon answer.My routes.rb是Rails.application.routes.draw do design_for:admins design_for:users资源:配置文件资源:类别资源:故事做资源:评论结束获取“故事/索引”根到:“故事#索引”结束管理员/注册错误-未定义的“用户名”方法#是否迁移了
admin
模型?似乎你没有用户名字段?好的。我知道了。你是对的@Rich Peck。我的管理模型中没有用户名字段,也没有相同的登录方法。添加它们后,它们工作得非常好。非常感谢Wojciech Szymanski和Rich PeckPlease阅读Gjaldon答案如果您仍然有问题,请在routes.rb中发布您的设计路线以供检查。嗨。在参考Gjaldon答案后,它仍然不起作用。我的routes.rb是Rails.application.routes.draw do designe_for:admins设计:用户资源:配置文件资源:类别资源:故事做资源:评论结束获取“故事/索引”根到:“故事#索引”结束它为管理员/注册抛出此错误未定义的方法#Have的“用户名”你迁移了你的
Admin
模型?似乎你没有用户名字段?好的。我知道了。你是对的@Rich Peck。我的管理模型中没有用户名字段,同样也没有登录方法。添加它们后,它们工作得非常好。非常感谢Wojciech Szymanski和Rich Peck