草庐IT

reference-parameters

全部标签

ruby-on-rails - add_foreign_key 与 rails 中的 add_reference

rails中的"add_foreign_key"和"add_reference"方法有什么区别?根据railsofficialguide,我的理解是它们都用于在两个表之间创建外键约束。 最佳答案 add_foreign_key-添加一个新的外键。from_table是包含键列的表,to_table包含引用的主键。add_reference-作为同时创建列、索引和外键的快捷方式。什么是外键-外键是表中的一个字段或一组字段,用于唯一标识另一个表中的行。 关于ruby-on-rails-add

ruby - 为什么我会收到 HABTM 协会的 Unpermitted parameters?

我目前正在开始构建一个开源商店目录应用程序。我有FunShop和FunSubcategory模型通过FunSubcategorization模型加入has_many:through关联。在FunShop表单中,我以这种方式添加了Subcategory复选框。当我提交表单时,出现错误Unpermittedparameters:fun_subcategory_ids。我对强参数略知一二,我怀疑这有问题。在我的FunShopController中,我有这个:deffun_shop_paramsparams.require(:fun_shop).permit(:fun_subcategory_

ruby - 如何在使用 Ruby Mechanize 加载页面之前设置 Referer header ?

是否有直接的方法来使用Mechanize2.3设置自定义header?我尝试了formersolution但是得到:$agent=Mechanize.new$agent.pre_connect_hooks':undefinedmethod`pre_connect_hooks'fornil:NilClass(NoMethodError) 最佳答案 Thedocs说:get(uri,parameters=[],referer=nil,headers={}){|page|...}例如:agent.get'http://www.google

ruby-on-rails - 在 Devise 注册时提交时为 "Unpermitted parameter: email"

我有一个简单的RubyonRails应用程序,使用Devise进行身份验证。我想让用户使用用户名而不是电子邮件登录,并尝试按照此处所述实现这一点:Deviseauthenticatingwithusernameinsteadofemail问题是我仍然希望每个用户都有一个电子邮件地址,并且在注册时需要一个。所以,我在注册表单上留下了“电子邮件”字段。问题是,当我使用有效的电子邮件地址(或电子邮件的任何其他值)填写注册表单时,Devise给出了一个错误:“电子邮件不能为空”。为什么电子邮件被视为空白,我该如何解决?classApplicationController用户模型classUse

ruby-on-rails - rails : How can I set the route for a method which doesn't require an :id parameter but instead requires 2 query parameters

我有一个列表表,其中包含一个列表模型和一个listings_controller类。我写了一个需要2个参数的方法:纬度和经度。然后,它会检索该坐标周围5公里左右的列表。在listings_controller中,这是我写的那个方法:defaroundlat=params[:latitude]long=params[:longitude]@surroundings=Listing.where("latitude=?andlongitude=?",lat,long)end我想做的是在我的routes.rb文件中设置一个url,当客户端浏览器调用该url时,它将提供纬度和经度作为2个参数。不

ruby - 导轨 : control ordering of query parameters in url_for?

我想生成一个URL,其中“p=1”查询参数出现在URL的末尾,例如:/path?foo=X&bar=Y&p=1生成URL时是否可以控制查询参数的顺序:url_for(params.merge({p:page_num}))?更新:我试过了ChuckE'ssuggestionbelow.事实证明,在Ruby1.9中,哈希已经排序,因此ActiveSupport::OrderedHash中的代码实际上是空操作。您可以使用Ruby1.9验证顺序是否已保留:>>h={one:1,two:2,three:3}{:one=>1,:two=>2,:three=>3}>>f=h.except(:one)

ruby-on-rails - rails : Pass parameter from view to controller

我在rails中有以下模型:classTasktrueendclassProject我有一个列出可用项目的View在单击任何项​​目时,我想打开一个页面,其中列出了所单击项目中的所有任务。现在的问题是如何传递项目ID?我还希望此后项目ID在许多Controller中可见,所以我认为我应该使用session变量或类似的东西? 最佳答案 你想要使用嵌套资源路线.rbresources:projectdoresources:tasksend这会让你做然后你会有一个任务Controller,参数将包括:project_id/projects

ruby - 符号如何(例如 :label) handled as part of a parameter hash

我正在查看O'Reilly书中关于RubyonRails的示例代码并遇到了这个:deflabel_for(method,options={})extra=""ifoptions[:required]extra="*"endlabel(:label||method)+extra+""end我知道options是一个散列,但它怎么能只用:label调用label-不应该吗需要说options[:label]吗?谢谢! 最佳答案 是的,我相信是这样,否则:label符号将始终作为method名称传递给label助手。

ruby-on-rails - "request.referer == nil"是否总是表示直接流量?

当request.referer没有返回任何内容时,这是否总是意味着访问者没有通过链接执行请求-即她以某种方式手动输入了请求页面的地址?或者还有其他情况request.referer返回nil(假设请求成功)? 最佳答案 简短回答:否。一般来说,引荐来源网址-与所有其他HTTPheader一样-是用户提交的数据。不应信任用户提交的数据。我突然想到这些场景,如果用户没有手动输入URL,则不会设置引荐来源网址。点击电子邮件客户端中的链接。使用可删除引荐来源网址的隐私软件。机器人/蜘蛛可能不会设置此header。Followingalin

ruby-on-rails - Rails 内存泄漏 : controller class holding a reference to instance

我在Rails4.2.6应用程序中发生内存泄漏。一个Controller分配了一个很大的GaragesPresenter对象作为实例变量,在请求完成后应该取消引用并进行垃圾收集。但是,我发现这永远不会发生。defshow@garage=GaragesPresenter.new(@garage,view_context)respond_todo|format|format.htmlendend我看到对GaragesPresenter的引用实例由GaragesController持有实例,GaragesController持有该实例类(class)。这在请求完成很长时间后是正确的,GC.s