草庐IT

aster_users

全部标签

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:例如,用户可以输入进入表格,并提交不需要的数据。有什么办法可以

ruby-on-rails - RubyMine 错误 : Unable to find associated Rails Model for ':users' associations failed

我正在编写一些教程,但遇到了一些问题。RubyMine无法为“:users”关联找到关联的Rails模型失败我正在使用:-ruby矿7-Ruby版本meneger(rvm)-ruby​​-1.9.3-p551[x86_64]-ruby​​-2.1.5[x86_64]-railsRails4.1.8-gemsqllite3我的模型是:classCompany:worksendclassUser:worksendclassWorkShema.rbActiveRecord::Schema.define(version:20141207111312)docreate_table"compani

ruby-on-rails - Rails 和类变量 : will this persist across users and server calls?

我们在Rails3.0.6上。在Rails中,以下代码会在页面加载和用户之间持续存在吗?还是每个请求都会重新定义它?代码位于Controller的顶部。@@list=[]hero={}hero['name']='so'hero['superpowers']=['coding','qa','spec_writing']@@list.pushherohero2={}hero2['name']='so2'hero2['superpowers']=['coding']@@list.pushhero2...moreHashespushedinto@@list该列表每月仅更改一次,我们希望高效快速

ruby-on-rails - 创建一个像 Devise 的 current_user 一样的方法以在任何地方使用

我允许我的用户拥有多个配置文件(用户有多个配置文件),其中一个是默认配置文件。在我的用户表中,我有一个default_profile_id。如何创建像Devise的current_user这样的“default_profile”,我可以在任何地方使用它?我应该把这条线放在哪里?default_profile=Profile.find(current_user.default_profile_id) 最佳答案 Devise的current_user方法如下所示:defcurrent_#{mapping}@current_#{mappi

ruby-on-rails - 像 User.find( :all). each? 这样的代码有什么问题?

我刚刚在职位列表上看到了这个要求:Awareofthepitfallsofcodelike:User.find(:all).each我立刻就知道我不适合这份工作,因为在我的一生中,我不明白问题出在哪里。是不是……设计相关?我应该将数据库请求存储在一个变量中,然后然后对其进行迭代吗?危险吗?太啰嗦了?我应该改用User.all.each吗?(-1个字!w00t!)只是措辞不当?是否应该以“用户表恰好有300万行”开头? 最佳答案 我认为他们正在寻找的“陷阱”是当有人写User.all.each时,它通常看起来像这样:User.all.