首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让rails_admin正确处理关联?

如何让rails_admin正确处理关联?
EN

Stack Overflow用户
提问于 2011-06-16 12:30:44
回答 2查看 4.9K关注 0票数 2

两个问题:

1)我怎样才能使模型的'list‘中的一列包含来自记录关联的数据?换句话说,我有一个用户模型和一个用户has_many posts。我只想在列表中有一个"post count“列。我试着这样做:

代码语言:javascript
复制
field :posts do
  formatted_value do
    value.count
  end
end

但这会导致除以零的错误。我甚至尝试过这样做:

代码语言:javascript
复制
field :posts do
  formatted_value do
    bindings[:object].posts.count
  end
end

但得到的结果是一样的。

2)如何过滤列表到特定的作用域?例如,我想让用户的帖子计数是一个可点击的链接,它将显示给定用户的所有帖子。

我能想到的最好的办法就是:

代码语言:javascript
复制
# note that I created a method post_count to temporarily solve problem #1
field :post_count do
  formatted_value do
    bindings[:view].link_to value, "/admin/posts?query=#{bindings[:object].id}"
  end
end

但效果不是很好。有没有办法指示rails-admin在模型上执行.where(:user_id => xxx)

我不喜欢的另一件事是必须手动输入‘admin/post’。我在试着看我是否能做rails_admin_list_path(:model_name => "posts")。但这似乎并不管用。

EN

回答 2

Stack Overflow用户

发布于 2011-07-08 09:09:31

你可能会在rails_admin邮件列表上得到更好的回复-- http://groups.google.com/group/rails_admin/

对于您的第一个问题,这应该可以解决这个问题:

代码语言:javascript
复制
field :posts, :virtual do
  formatted_value do
    bindings[:object].posts.count
  end
end

关于你的第二个问题,rails_admin现在有了一个过滤器系统--参见http://demo.railsadmin.org/admin/players上的“添加过滤器”下拉菜单。利用这一点将是一个更好的方法。

rails_admin_list_path(:model_name => "posts")应该可以工作,你可能需要使用include Rails.application.routes.url_helpers或者类似的命令。

票数 1
EN

Stack Overflow用户

发布于 2011-11-27 19:53:03

尝试将其添加到您的rails_admin.rb

代码语言:javascript
复制
RailsAdmin.config {|c| c.label_methods << :field_name} 

对我很管用

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

https://stackoverflow.com/questions/6367123

复制
相关文章

相似问题

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