草庐IT

pg_attribute

全部标签

ruby-on-rails - Active Record 未定义方法 read_attribute_for_serialization

我有一个Rails范围,它获取表的第一条记录并将其分配给@variable。它返回单个对象或空的事件记录关系。我的问题是我正在使用自定义序列化程序来呈现json,但是如果范围返回一个空的ActiveRecord关系,我会得到“ActiveRecord未定义方法read_attribute_for_serialization”,除非我使用each_serializer,但是如果范围返回一个我有的对象使用序列化器渲染它:有没有办法不这样做就解决这个问题:if@variable.blank?renderjson:@variable,each_serializer:CustomSerializ

ruby-on-rails - ActiveModel::ForbiddenAttributesError 使用 update_attributes 自己创建了参数散列

我正在尝试使用simple_form编辑/更新模型记录,但该表单不会直接更改模型字段。相反,我提供了几个check_box_tag字段来告诉更新哪些字段需要更改。因此,update没有收到我可以用来更新属性的params[:device]散列。我正在尝试创建此哈希,但在发出@device.update_attributes(params[:device])时收到ForbiddenAttributesError。我相信我的强参数列表是正确的。如果我允许在编辑View中处理一个模型字段(名称),我会收到预期的params[:device]散列并且一切正常。如果我禁用该字段,因为我不希望它被

ruby sequel gem - 如何使用 pg_array 扩展查询数组

我正在使用pg_array扩展和续集版本4.1.1。我已经添加了这样的扩展:Sequel::Database.extension:pg_array我创建了这样一个专栏:alter_table:emailsdoadd_column:references,"text[]",null:trueend我可以将数组加载和检索到postgress数组列中,就像处理普通数组一样。从上面的链接中不清楚的是我如何根据这个数组列中的值执行查询。例如,如果电子邮件表中的一行在引用列中包含这些值:references-----------------------------------------------

ruby - ransack如何使用pg_search?

我想使用ransack(通过ActiveAdmin)对模型进行全文搜索。我怎样才能得到ransack以使用pg_search进行查询?我想运行在其他查询组件中使用pg_search功能的查询。 最佳答案 你不需要搜索来使用pg_search,只需组合范围。他们注定要一起工作。这里我使用了几个不同的gem来协同工作以进行搜索:@lessons=Lesson.by_fuzzy_name("foo").#pg_searchscopeby_instructor_fullname("bob").#pg_searchscoperansack(r

ruby-on-rails - ruby rails : Using shovel operator to update a string attribute on a model does not make the model dirty

今天我们遇到了一个有趣的问题。似乎如果您使用shovel运算符连接ActiveRecord模型上的字符串属性,它不会使模型变脏。例如:e=Employee.firste.name这是有道理的,因为shovel运算符更新字符串而不复制它,而+=运算符将复制字符串。如果您使用shovel运算符,我不明白ActiveRecord怎么可能知道发生了什么变化。有没有人看过这个?是只使用+=的解决方案吗?而不是连接字符串时? 最佳答案 解决方案是您编写。或者你可以在此之前标记你的态度will_changee=Employee.firste.na

ruby-on-rails - ruby rails : Accept nested attributes for parent rather than child records?

在我的Rails应用程序中,Users可以有许多People,而这些People又可以(但不一定)属于Organisations。简而言之,就是:Users----Organisations现在,如果能够以某种方式从人员View中创建新组织,那就太好了。它试过这个:classPerson但它不起作用,因为Organization不是Person的子级。还有其他方法可以实现吗?感谢您的帮助。 最佳答案 我可以看到Person实际上是Organisation的子级,它也可以为父级模型创建嵌套形式。您已经在使用accepts_nested

ruby-on-rails - 如果失败, `update_attribute` 会返回什么?

我有以下代码@user=User.find(params[:id])if(@user.activation_status=="active")#somecodehere@user.update_attribute('activation_status','inactive')#Line44#sendmailtouserthathisaccountisAcivatedelseend第44行有可能失败吗?因为数据库内存已满或网络故障。在那种情况下会发生什么?如果这会造成问题,那么避免它的更好方法是什么?如果失败,update_attribute返回什么? 最佳答

ruby-on-rails - 无法在 Mac OSX 上安装 PG gem

我创建了一个新的Rails应用程序:railsnew-dpostgresql但是,我无法安装pggem。我之前使用brew安装了postgres,它会在我的Mac上自动启动。我已经尝试过在SO上发布的几件事。我正在使用ruby2.0。运行bundleinstall时,出现错误:Errno::EACCES:Permissiondenied-/Library/Ruby/Gems/2.0.0/gems/pg-0.17.1/.gemtestAnerroroccurredwhileinstallingpg(0.17.1),andBundlercannotcontinue.Makesurethat

ruby - 在 ruby​​ 项目构建期间尝试安装 pg gem 失败

我正在尝试构建一个使用本地运行的postgres的ruby​​项目。在pggem安装上构建失败。我得到这个错误$geminstallpg-v'0.12.2'Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingpg:ERROR:Failedtobuildgemnativeextension./path/to/.rvm/rubies/ruby-1.9.3-p545/bin/rubyextconf.rbcheckingforpg_config...noNopg_config...tryinganyway.If

ruby-on-rails - Rails 上的 Ruby/PgSQL 错误启动 : cannot load such file -- pg_ext (LoadError)

我是Ruby的新手(具有Java背景),并且获得了从Git存储库访问RoR项目的权限。我能够通过自制软件安装rbenv和Postgres构建Ruby,使用正确的标志安装“pg”gem。当我启动服务器时,我对项目进行“捆绑安装”并创建了一个bundle的任何方式:...任何帮助都将不胜感激!$railss/Users//Projects/The/vendor/bundle/gems/pg-0.14.1/lib/pg.rb:4:inrequire':cannotloadsuchfile--pg_ext(LoadError)from/Users//Projects/TheUsic/vendo