草庐IT

LZH_USER

全部标签

ruby-on-rails - current_user.present 和 if user_signed_in 有什么区别?

正在设计并想知道两者之间的区别是什么和 最佳答案 不,实际上没有区别。查看user_signed_in?的元编程实现:def#{mapping}_signed_in?!!current_#{mapping}end当针对User模型进行身份验证时,这解析为:defuser_signed_in?!!current_userend注意:如果current_user为nil或false,则!!current_user返回true>。这与present?完全相同 关于ruby-on-rails-c

ruby-on-rails - 教程 Michael Hartl 在 9.3 上访问 edit_user_path 失败

我有一个我无法解决的错误。我按照教程中的步骤操作,但无法通过绿色测试。我遇到了这个错误:$bundleexecrspecspec/requests/user_pages_spec.rb-e"Editpage"Runoptions:include{:full_description=>/Edit\page/}FFFFailures:1)UserpagesEditpageFailure/Error:before{visitedit_user_path(user)}ActionView::Template::Error:undefinedmethod`model_name'forNilCla

ruby-on-rails - ruby rails : redirect unauthenticated user to root instead of the sign in page

我正在使用Rails4和Devise3。我在路由文件中使用以下内容来防止未经身份验证的用户(未登录)访问页面:authenticate:userdo#pagetoprotectend这会将我重定向到用户/登录页面,但我希望将用户重定向到根目录。因此,我还在路由页面中添加了以下内容:get'user/sign_in'=>redirect('/')但这会弄乱我在session_controllers中所做的事情:defnewreturnrender:json=>{:success=>false,:type=>"signinn",:errors=>["Youhavetoconfirmyour

ruby-on-rails - 注册时以嵌套形式传递 user_id 并保存两个模型

我的Devise注册表单上有一个嵌套表单,它填充了一个连接表。连接表信息未保存,因为user_id为nil。这是因为他们还没有登录,所以我不能通过current_user。如何通过user_id以一种形式保存连接表(语言用户)?new.html.erb的相关部分registrations_controller.rbclassUsers::RegistrationsController这是我的参数:{"utf8"=>"✓","authenticity_token"=>"v/uM0+B7/XCUKmhyFGoEKqunCllXAK50uZN5f+TDpUsxlnIsgQVPbXhEb1q1

ruby - 使用 RSpec 测试 @current_user 方法

这几天我一直在尝试这样做,但我无法弄清楚。我的Controller中有以下代码:@some_object=@current_user.some_method在我的规范中,我想在那个方法上附加一个should_receiveHook,但我无法让它工作。我已经尝试了所有这些,但都没有用:assigns[:current_user].should_receive(:some_method).at_least(:once)#expected1,got0User.should_receive(:some_method).at_least(:once)#expected1,got0正确的测试方法是

ruby - #<ActiveRecord::Relation:0x007f8da82da248> 的未定义方法 `user_id'

我在此处代码的第2行出错,我在Estate表中有一列user_id。我在这里做错了什么?myestate=Estate.where(:Mgmt=>current_user.Company)@managements=User.where(:id=>myestate.user_id) 最佳答案 where返回ActiveRecord::Relation目的。因为where(:mgmt=>current_user.company)可能返回0、1或许多记录,所以您必须告诉查询您想要从中得到什么。尝试:myestate=Estate.wher

sql - Rails 应用程序外键错误 : Administrative user not allowed to delete other users in

当以管理用户身份登录并尝试删除用户时,我的heroku日志中出现以下错误:2015-03-24T07:47:23.506661+00:00app[web.1]:StartedDELETE"/users/1"for128.252.25.47at2015-03-2407:47:23+00002015-03-24T07:47:23.534256+00:00app[web.1]:SQL(4.4ms)DELETEFROM"users"WHERE"users"."id"=$1[["id",1]]2015-03-24T07:47:23.517508+00:00app[web.1]:UserLoad(

ruby-on-rails - 如何将 current_user 传递给 Sidekiq 的 Worker

我正在尝试将current_user或User.find(1)传递给工作模块,但在sidekiq的仪表板中出现错误(localhost:3000/sidekiq/retries):NoMethodError:undefinedmethod`supports'for"#":String注意:我的关系还好,即:u=User.find(1)u.supports#=>[]supports_controller.rb:defcreate@user=current_userProjectsWorker.perform_async(@user)...endapp/workers/projects_w

ruby - Rails3 : Functional tests fail with NoMethodError: undefined method `user' for nil:NilClass

我将Devise(v2.1.2)与Omniauth一起用于用户验证。我正在对一个Controller进行功能测试,该Controller将JSON对象作为POST主体,因此使用了thisquestion中的技术。设置原始POST正文。这适用于开发,但是当我运行测试时,我在一个完全未经身份验证的方法上遇到异常:NoMethodError:undefinedmethod`user'fornil:NilClass示例测试:test"shouldbeabletocreateanitem"dom=FactoryGirl.attributes_for(:item)raw_post:create,{

ruby-on-rails - ruby rails : What prevents a user from adding a form field to a form?

如果我在Rails中有一个表单,并且我只想向用户公开某些字段,我该如何防止用户破解表单并添加额外的字段以插入不需要的数据?例如,假设我有一个包含以下列的task.rb模型:name、description、internal_notes。对于“app/views/tasks/new.html.erb”中的公共(public)表单,我只想像这样公开公共(public)字段:formname:description:/form如何防止用户破解表单并执行此操作:formname:description:internal_notes:例如,用户可以输入进入表格,并提交不需要的数据。有什么办法可以