小编cit*_*raL的帖子

设计:登录失败,如何调试?

我有一个简单的应用程序,具有用户模型和从头开始构建的身份验证系统.我现在正在尝试使用Devise,它不起作用,作为Web开发的新手,有一些我没有掌握的东西,我不知道如何调试它.

我的问题是:Devise已安装并正常工作,除非登录始终返回"无效的电子邮件或密码",即使这两个字段都是正确的.

我开发了一个空的应用程序,添加了Devise,我没有这个问题.因此问题可能是因为我尝试将Devise添加到现有的User模型中.

我已经阅读了doc和Devise wiki,它有一个关于这个主题的主题:这里.说要从迁移字段中删除:database_authenticatable,因为User模型已经有一个电子邮件字段,并将其替换为我在迁移中执行的t.encrypted_pa​​ssword.

现在,在我的用户模型中,我离开了:attr_accessible中的database_authenticatable.如果我删除它,我有很多错误消息,session_path无法识别,等等...但它还没有被迁移?另外,:encrypted_pa​​ssword没有出现在我的模型中,这是正常的吗?...

我知道这真的是一个新手问题,我有点迷失,不知道我是否应该从一开始就重写我的应用程序,或者是否有一个简单的修复...我不知道如何调试,所有我在日志中看到,当用户应该成功登录时会出现"未授权",并且当尝试签名时,"authentication_token"也不一致

所以,我输了,如果你觉得很明显,我会很高兴听到任何建议......

我在下面添加routes.rb,User.rb,schema.rb和迁移文件

routes.rb中:

TapaG::Application.routes.draw do

  devise_for :users

  get "pages/home"

  resources :users
  resources :belongings

  devise_scope :user do
    get "sign_in", :to => "devise/sessions#new"
    get "sign_out", :to => "devise/sessions#destroy"
    get "sign_up", :to => "devise/registrations#new"
  end

  get "pages/more_details"
  get "pages/infos_pratiques"
  get "pages/contact_us"

  #match 'Profil', :to => 'users#Profil'
  match "more_details", :to => "pages#more_details"
  match 'contact_us', :to => 'pages#contact_us'
  match "infos_pratiques", :to => "pages#infos_pratiques"
  match '/belongings/new', :to => 'belongings#new'
  root :to => 'pages#home'
Run Code Online (Sandbox Code Playgroud)

移民:

class AddDeviseToUsers < …
Run Code Online (Sandbox Code Playgroud)

authentication ruby-on-rails devise ruby-on-rails-3

9
推荐指数
1
解决办法
3952
查看次数

无法安装单用户版RVM

问题很简单:

我无法安装RVM(单用户安装),就好像我按照RVM网站上的说明操作,即:

$ curl -L https://get.rvm.io | bash -s stable 
Run Code Online (Sandbox Code Playgroud)

我在安装脚本文件的第360行(以echo开头的行)收到权限被拒绝错误:

# Perform the actual installation, first we obtain the source using whichever
# means was specified, if any. Defaults to head.
  case "${version}" in  
    (head) 
       echo "${branch}" > "$rvm_path/RELEASE"    
       install_head ${branch:-master} || exit $?  
  ;;
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

olivier @〜$ curl -L https://get.rvm.io | bash -s稳定

bash:第360行:/ usr/local/rvm/RELEASE:权限被拒绝

如果我在上面的命令中在"bash"之前添加"sudo",它工作正常,但它是多用户安装...

ruby rvm

6
推荐指数
2
解决办法
5212
查看次数

如何在Javascript代码中访问rails变量?

我正在使用Rails 3.0.5

我有一个使用jQuery下拉清单的javascript代码,我希望在我的财物控制器的"编辑"操作中使用我的表单时,复选框显示已经检查了哪个项目,哪个不是.

基本上,它可以在Javascript中这样工作:

$('element').val([1,3,4]);
$('element').dropdownchecklist();
Run Code Online (Sandbox Code Playgroud)

让我们说在我的控制器中编辑动作,我有一个名为@selected_items的实例变量,其中包含所选的项目(这里:@selected_items = [1,3,4]),我想使用这个值实例变量到我的Javascript代码中,我该怎么办?我怎么能在.js文件中访问这个实例变量的值?

非常感谢您的回答!

javascript jquery ruby-on-rails

4
推荐指数
1
解决办法
7656
查看次数

Paperclip Rspec测试:为什么缺少attr_accessor?

我有一组传递的Rspec用户模型测试,直到我有了paperclip属性"profile picture".

回形针一切都很好,效果很好,但我希望我的测试也能更新通过.我刚刚将此行添加到user_spec文件的@attr:

:avatar => File.new (Rails.root + "public/images/Default_profile_picture.jpg")
Run Code Online (Sandbox Code Playgroud)

在before_each循环中,为用户模型创建一组标准的工作属性.

当我运行测试时,所有测试都会给出错误消息:

User model missing required attr_accessor for 'avatar_file_name' ... 
Run Code Online (Sandbox Code Playgroud)

将paperclip的字段作为attr_accessor放在模型中会使问题在测试中消失,但我认为我不应该在我的模型中执行此操作(如果我这样做,则无法正常工作).

有没有人知道为什么我在测试时收到这些错误消息?...(我在spec/helper中包含了配置行Shoulda :: Matchers和需要的回形针)

感谢您发布的任何答案!

testing rspec paperclip ruby-on-rails-3

1
推荐指数
1
解决办法
1123
查看次数

套餐无效,使用Anaconda

我已经安装了Anaconda for Windows.它在我的工作PC上,因此我选择了"Just for Me"选项,因为我没有管理员权限.

Anaconda安装在以下目录中:

c:\Users\huf069\AppData\Local\Continuum\Anaconda
Run Code Online (Sandbox Code Playgroud)

Windows安装程序已将此目录(+ Anaconda\Scripts目录)添加到系统路径.

我可以启动Python但尝试运行 x = randn(100,100) 给了我一个Name Error: name 'randn' is not defined,而我据了解,这个命令应该在使用Anaconda时工作,因为包含了numpy包.

如果我这样做,它工作正常:

import numpy
numpy.random.randn(100,100)
Run Code Online (Sandbox Code Playgroud)

任何人都明白会发生什么?

python numpy anaconda

0
推荐指数
1
解决办法
2048
查看次数