草庐IT

ruby - Bundler:如何在没有导轨的情况下使用?

我有一个在Rails之外使用Cucumber的项目。如何使用我的gemfile中指定的版本加载gem? 最佳答案 挖掘theBundlerwebsite:创建Gemfile(运行bundleinit以创建骨架Gemfile)bundle安装在您的应用中:#Onlyneededforruby1.8.xrequire'rubygems'#Thepartthatactivatesbundlerinyourapprequire'bundler/setup'#requireyourgemsasusualrequire'some_gem'#..

ruby - 导轨/RSpec : How to test #initialize method?

如何使用RSpec指定#initialize行为?例如这里:generator.rbclassGeneratorattr_accessor:seeddefinitialize(seed=nil)@seed=seed||pick_seedenddefpick_seedTime.now.to_iendendgenerator_spec.rbrequire'generator'describeGeneratorit"calls'pick_seed'methodunlessseedspecified"doendend我想设置从#initialize方法调用的pick_seed方法的期望值。

ruby - 导轨 4 : Append to a "has_many" relation without saving to DB

在Rails3中,可以做类似some_post.comments.append(some_comment)的事情其中一些帖子是“有很多”评论的模型实例。我在Rails4中面临的问题是append方法现在保存到数据库(如push和),我只需要“附加”而不将附加的对象保存到数据库。我们如何在Rails4中实现这一点?我不能使用some_post.comments.build(some_comment.attributes)因为我需要保留some_comment中已经存在的其他关系实例。 最佳答案 在Rails中优雅地做到这一点非常困难。

javascript - 导轨 3 : How to trigger a form submission via javascript?

我有一个大部分只是作为普通表单提交的表单,所以我不想在form_tag中设置:remote=>true选项。但是,在某些情况下,我希望能够有一个javascript函数来发布表单,就好像它是由:remote=>true发布的一样。我需要在javascript中做什么才能完成此操作? 最佳答案 我对此有点陌生,但这里...rails.js(至少是jquery之一)定义了以下函数来捕获和提交表单:$('form').live('submit.rails',function(e){...});如果您使用以下它应该触发相同的功能(如果:re

没有获得通过AJAX邮政请求导轨发送的表单数据

我正在尝试通过AJAXPOST请求将包括一些文本字段和一个图像字段的表单数据发送到控制器。表单数据看起来像这样:这是我正在打的ajax电话$.ajax({type:"POST",dataType:"json",processData:false,data:{'new_post_data':data},url:"/posts/newpostcreate",success:function(resp,status){}});该请求是发送的,但在控制器中,我得到了类似的东西ActionController::Parameters{"objectObject"=>nil,"controller"=>"

导轨中是否有更快的方法来确定数组中的所有对象是否包含几个属性?

我正在使用Rails5.0.1。我有一组对象,存储在一个名为“结果”数组中。每个对象都有一些属性。我想知道所有对象是否包含几个属性,所以我使用has_all_numeric_attr_data=results&&results.all?{|r|r.numeric_attr&&r.numeric_attr>0}has_all_string_attr_data=results&&results.all?{|r|r.string_attr.present?}但是,这可以正常工作,如果数组包含大量对象,就我在数组上迭代两次,这有点慢。有没有办法获取相同的数据,但仅在数组上迭代一次?看答案也许不是最漂亮

如何用RSPEC验证在导轨中存在阵列?

我的规格正常工作验证登录,在该验证中,我可以访问some_array但是在验证中some_array它失败了,因为我无法访问它。我需要做一些特殊的事情来测试阵列吗?模型validates_presence_of:login,:some_arrayRSPECit{shouldvalidate_presence_of(:login)}it{shouldvalidate_presence_of(:some_array)}看答案没有太多信息,所以...您需要想的是,该阵列首先是如何设置的?其中每一个都{}阻止了一个全新的WhateverModel被建造。是Whatever.some_array填充创作

更改源属性image_tag导轨

以下是我尝试切换导轨的图像的尝试:控制器的更新操作:defupdate@user=current_user@peaks=Peak.allrespond_todo|format|if@user.update(user_params)format.html{redirect_touser_path}format.js{renderaction::show,format::js}elseformat.html{redirect_toroot_path}endendend和.js.erb文件:$('#').attr("src","peak.id%>");但是,我在服务器输出中收到以下错误:Action

text_field_tag占位符忽略导轨中空间后的动态文本

我正在使用I18N进行国际化。使用以下代码以text_field_tagim的占位符中以语言语言语言显示位置持有人的内容。和config/locales/en.yml内容如下:en:shared:enter_email:EnterEmail在运行应用程序时,占位符中的内容仅包含Enter它的忽略name因为之间有一个空间。我尝试了不同的语法,所有语法都产生了相同的结果。有没有办法完成此操作?看答案我能够通过使用这样的插值来解决此问题。

我可以确定导轨中的验证错误消息的顺序吗?

我想获得验证消息的顺序,以与我们在我们的表格上相同的顺序进行。我们有三个课:classUseraccepts_nested_attributes_for:pledgesendclassPledgeaccepts_nested_attributes_for:companiesvalidates_presence_of:pledgor_surnameendclassCompanyvalidates_presence_of:nameend以一种形式,我们可能必须对这三种属性采用属性,因此我们得到以下参数:{"pledges_attributes"=>{"0"=>{"pledgor_surname"=