基本上,我有4层嵌套表单。A有B有C有D,D是多态的(A也有D)。我在一个表单上编辑所有这些,使用javascript添加/删除B、C和D对象。问题是每当我编辑D而没有编辑A、B或C的任何属性时,更改不会保存。这包括添加D或编辑现有D的属性。如果我更改任何父模型(A、B或C)中的属性,则更改会保存。我遇到了与Markingmulti-levelnestedformsas"dirty"inRails相同的问题在那个问题中确定它是Rails2.3.5中的错误。我正在运行2.3.11。该错误是否有可能被重新引入?有谁知道怎么查吗?非常感谢...谢谢! 最佳答案
使用ancestrygem时我们如何生成一个节点,其中有2个父节点(父亲、母亲)处于同一级别?如果是多级父级,祖先列的内容是什么?感谢您的帮助。皮埃尔 最佳答案 目前这不可能或计划作为一项功能。参见“Multipletreestructureswithacommonroot”。 关于ruby-gem血统一人两parent,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/678706
我正在尝试查找关于照片的10条最新评论,以便将它们集成到我的Rails3.0.3应用程序的事件提要中。我有一个Photo模型,它使用单表继承从Upload模型继承:classUpload:commentable...end多态关联commentable在Comment模型中描述:classCommenttrueend到目前为止还不错吧?当我尝试构建查询时,问题就来了。经过反复试验,我想出了位于照片模型中的这段代码:defself.latest_comments(count=10)Comment.where(:commentable_type=>"Upload")\.joins("INN
给定一组“书籍”,找到所有“作者”(无重复)的最佳方法是什么?假设我们有一个经典关联:classAuthor我现在的做法是这样的:@books=Book.where("somecondition")@authors=Author.where(:id=>@books.map(&:author_id))有没有更好的方法呢? 最佳答案 这里有一个方法:@books=Book.where("somecondition").includes(:author)@authors=@books.map(&:author).compact.uniq解
我无法将child添加到给定的parent。该View有一个“添加子项”链接,该链接传入当前的Person对象。从这里开始,我被困住了。父子都是Person对象。此外,逻辑很差-目前假设是父亲。模型(person.rb):classPerson"Person"belongs_to:father,:class_name=>"Person",:foreign_key=>'father_id'belongs_to:mother,:class_name=>"Person",:foreign_key=>'mother_id'defchildrenPerson.find(:all,:conditi
我有一个列表表,其中包含一个列表模型和一个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个参数。不
classUserhas_many:calendarshas_many:cars,through::calendarsendclassCalendarhas_many:carsendclassCar#attribute`issued_at`end我需要通过issued_at向用户订购他的汽车。因此,通过孙子的属性issued_at对父级进行排序。到目前为止:@q=User.active.joins(:cars).order('cars.issued_at').group('users.id')但是我得到了column"cars.issued_at"mustappearintheGROU
我有以下模型:计划中.rbhas_many:tickets在ticket.rb中belongs_to:planvalidates_presence_of:plan_id在controller中执行以下代码时@plan.tickets.build(...)@plan.save保存失败并显示票证错误消息:计划不能为空。(计划有效。) 最佳答案 当我调用build时我的对象是新的并且未保存,我就遇到过这种情况。build分配plan_id,如果@plan的id是nil,那么你的票的plan_id将为零。因为build不验证或保存,所以您要
我想生成一个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)
我有这样的htmlAAAAAAAAAAAAAAAAAABBBBBBBBB我需要做的是说(通过watir-webdriver)“给我一个类为‘title’且文本为‘AAAAAAAAA’的元素,它是类‘card’元素的子元素”。在此示例中,我想在第三行找到类为“title”的div。仅仅说“给我文本为‘AAAAAAAAA’且类为‘title’的元素”是不够的,因为该元素可能存在于DOM中的其他地方。我必须能够通过它的属性和它的parent来识别它。我不确定该怎么做,我真的很喜欢一些建议。在watir-webdriver中,如果我写:b.element(:class=>"card").ele