首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >friendly_id与ActiveScaffold冲突

friendly_id与ActiveScaffold冲突
EN

Stack Overflow用户
提问于 2011-01-20 17:18:19
回答 2查看 1.1K关注 0票数 1

我为我的Rails应用程序安装了idActiveScaffold

因为不是所有的模型都有唯一的名称字段,所以我必须使用段塞模型来使其工作。friendly_id做的工作完美无缺,我有友好的URL,我可以使用友好的id加载对象。

但是,当我想用ActiveScaffold创建一个新对象时,它会显示以下错误消息:

ActiveScaffold::ReverseAssociationRequired (关联段塞:为了支持父记录是新的并且子记录验证父记录是否存在的:has_one和:has_many,ActiveScaffold需要反向关联(Belongs_to))。

当然,我不能在这一边创建belongs_to关联,因为它是由friendly_id模块创建的,并且应该包含在其中的每个模型。

模型如下:

代码语言:javascript
复制
class FooBar < ActiveRecord::Base
  has_friendly_id :name, :use_slug => true, :approximate_ascii => true
end

在我的ApplicationController

代码语言:javascript
复制
class Admin::FooBarsController < Admin::ApplicationController
  active_scaffold :foo_bar do |config|
    config.list.columns = [ :id, :name ])
    config.update.columns = [ :name ]
    config.create.columns = config.update.columns
  end
end

有办法让这件事成功吗?

版本: friendly_id 3.2.0,ActiveScaffold最新的rails-2.3 git分支。

更新:似乎它在生产模式中没有冲突。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-15 17:08:41

呼叫

代码语言:javascript
复制
has_friendly_id :name, :cache_column => 'cached_slug', :use_slug => true

..。创建一个has_many和一个有一个关联,指向一个鼻涕虫AR模型,没有任何多态属于正确定义的关联。

因此,基本上,要解决这个错误,您需要在父模型的控制器(拥有friendly_id组件的控制器)中定义反向关联。

代码语言:javascript
复制
  active_scaffold :products do |config|
    ...
    config.columns[:slug].association.reverse = :product
    config.columns[:slugs].association.reverse = :product
  end

它的作用是:)

PS :我使用friendly_id作为rails 3的gem和ActiveScaffold VHO主分支。

票数 2
EN

Stack Overflow用户

发布于 2011-01-20 17:52:54

在过去,我有同样的问题,我已经解决了,但我不记得我的解决方案,看看我的代码,唯一相关的黑客是使用friendly_id作为插件,并最终用config.plugin在environemnt.rb中加载它。

代码语言:javascript
复制
aviable_plugins = Dir.glob(RAILS_ROOT+"/vendor/plugins/*").collect {|i| i.split("/").last }
config.plugins  = aviable_plugins + [:friendly_id] #friendly_id must be last

我不确定,对不起,但如果你试着让我知道。

很抱歉我的英语

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4750331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档