草庐IT

user_currency

全部标签

ruby-on-rails - 无方法错误 : undefined method 'user' for nil:NilClass

我正在阅读APIsonRails这本书,并且super困在第5章,试图测试sessionController。我收到以下错误,似乎无法找到它。有没有一种很好的方法来追查这些类型的错误?我错过了什么?1)Api::V1::SessionsControllerPOST#createwhenthecredentialsarecorrectreturnstheuserrecordcorrespondingtothegivencredentialsFailure/Error:post:create,{session:credentials}NoMethodError:undefinedmetho

ruby-on-rails - 设计:覆盖 current_user(为用户设置不同的类)

我想这样做:应用程序Controller.rb:classApplicationController但还是没有出去覆盖current_user日志:https://gist.github.com/anonymous/e0a5fb593b020b16a0cd2ae9d539b92a 最佳答案 这对我有帮助:classApplicationController 关于ruby-on-rails-设计:覆盖current_user(为用户设置不同的类),我们在StackOverflow上找到一个

ruby-on-rails - Rails - 为什么在 sign_in 方法中使用 self.current_user = user

我已经完成了RubyonRailsTutorial迈克尔·哈特尔。我知道一些关于实例变量、getter和setter的基本概念。登录方法是heredefsign_in(user)cookies.permanent[:remember_token]=user.remember_tokenself.current_user=userend现在我卡在了这条线上self.current_user=user我发现这个相关question,但我还是不明白。登录后,用户将被重定向到另一个页面,因此@current_user将为nil。Rails只能从cookie或session中获取current_

ruby-on-rails - 设计身份验证 gem : How to save the logged in user id?

我在我的RubyonRails3应用程序中使用DeviseRubygem。当登录用户创建我的一个模型时,我想将他们的用户ID保存为创建它的人。我该怎么办? 最佳答案 创建一个迁移文件,其中包含一个名为user_id的integer类型的列,这是存储关联的位置。(有关如何执行此操作的详细信息,请参阅migrationguide)。在您的模型中,添加:belongs_to:user(有关详细信息,请参阅associationsguide)在模型的Controller中,在创建操作中添加@your_model.user=current_u

ruby-on-rails - 在 Rails 3 中使用 Devise 测试 'current_user'

我刚刚开始使用Ruby和Rails,尝试使用Rails3进行设计。我有一个围绕帖子列表的循环,每个帖子都有一个关联的用户。我只想显示与当前用户关联的那些帖子的编辑控件。(上面是简化的,并且是根据内存,所以我确信语法不完全正确-但你明白了要点。)如果没有用户登录,帖子将按预期显示-有一个Show链接,但没有Edit链接。但是,如果我完全登录,所有的Edit链接都会显示,甚至是其他用户创建的第一个帖子。我已在控制台中验证User.find(1)!=User.find(2),但由于某些原因current_user=post.user无论当前谁登录,计算结果都为真。这是因为current_us

ruby-on-rails - Rails 教程 3 第 7 章 : User Model Rspec Test Failing

我一直在成功地遵循Rails教程3,直到我到达第7章并实现了用户模型,现在我的rspec一直失败。这是我的user.rb文件输出classUsertrue,:length=>{:maximum=>50}validates:email,:presence=>true,:format=>{:with=>email_regex},:uniqueness=>{:case_sensitive=>false}validates:password,:presence=>true,:confirmation=>true,:length=>{:within=>6..40}before_save:encr

ruby-on-rails - Rails devise 求助路由报错 No route matches "/sessions/user"

当我登录我的页面时,我会自动转到路线:http://localhost:3000/sessions/user我得到这个错误:RoutingErrorNoroutematches"/sessions/user"我在此处的用户文件夹中创建了一个名为sessions_controller.rb的Controller:classUsers::SessionsController"Youhavebeenloggedout."enddefcreateuser=User.authenticate(params[:login],params[:encrypted_password])ifuserses

ruby-on-rails - CanCan - "user"参数为 nil - Rails 4

我正在使用Rails4.0.1和ruby​​2.1.1。我正在尝试将cancan与rails_admin集成。我的application_controller.rb看起来像这样helper_method:current_userprivatedefcurrent_user@current_user||=User.find_by(email:session[:user_id])ifsession[:user_id]end我的current_user辅助方法在应用程序的其余部分工作正常。我的ability.rb看起来像这样classAblityincludeCanCan::Abilityd

ruby-on-rails - 没有路线匹配 [GET] "/users/sign_out"rails 5

当我尝试注销时,出现没有路由匹配[GET]"/users/sign_out"的错误。这是我的注销链接标签。下面是我的User模型和Devise相关的路由:Rails.application.routes.drawdodevise_for:usersdoget'/users/sign_out'=>'devise/sessions#destroy'endroot'books#index'resources:booksdomemberdoput"like",to:"books#upvote"endendend这是我的设计.rbconfig.sign_out_via=:get

ruby - 设计:从根路径重定向到 users/sign_in 时不显示 "unauthenticated"flash 消息

在Rails3.2中使用Devise2.2.4。当我未登录时,我转到urlmyapp.com/documents,Devise将我重定向到myapp.com/users/sign_in并在devise.failure.unauthenticated下显示在devise.en.yml中配置的闪现消息。这是可取的!当我未登录时,我转到了urlmyapp.com(根路径),Devise进行了类似的重定向并显示了相同的闪存消息。重定向仍然是可取的,flash消息不是那么多。有没有一种方法可以配置Devise在从根路径重定向时不显示flash的“未验证”消息?我知道我可以在自定义FailureA