ruby-on-rails - 无法在关联模型的 Active Admin 索引属性中显示(belongs_to/has_many) - Rails 3.2

标签 ruby-on-rails ruby ruby-on-rails-3 activeadmin

我正在构建一个每日交易 Rails 应用程序来学习 RoR。

过去几个小时我遇到了一个问题:我无法在事件管理中获取其他关联模型的模型属性。让我向您展示具体的问题:

我有两个模型:品牌(即交易的品牌)和交易。一笔交易属于一个品牌,但一个品牌可以有很多笔交易。

models/deal.rb 是这样的:

class Deal < ActiveRecord::Base
  belongs_to :brand

我们有 models/brand.rb:

class Brand < ActiveRecord::Base    
  has_many :deals

attr_accessible :name

我在迁移中执行了 t.belongs_to,所以这是可以的。

在事件管理员的交易创建表单中,我以管理员身份输入该交易与哪个品牌关联:

管理/deal.rb

ActiveAdmin.register Deal do
# -- Form -----------------------------------------------------------
  form do |f|
    f.inputs "Brand (i.e. client)" do
      f.input :brand_id, :label => "Select a brand:", :as => :select, :collection => Brand.all
    end

它效果很好,我可以与某个品牌创建交易。但我无法在我的交易列表中显示品牌名称 iun Active Admin'x 索引:

ActiveAdmin.register Deal do
index do   
  selectable_column   
  # id_column 
  column :title
  column :deal_amount
  column :brand do |deal|
    link_to deal.brand.name, admin_brand_path(deal.brand)
  end

...不起作用。

我怎样才能做到这一点?

我尝试了一切,但我基本上不知道如何获取品牌名称,因为它与交易表中的brand_id相匹配。

感谢任何帮助。

更新 我收到的错误是它不理解函数.name:未知方法“名称”

最佳答案

您需要处理 deal.brandnil 的情况。

ActiveAdmin.register Deal do
  index do   
    selectable_column   
    # id_column 
    column :title
    column :deal_amount
    column :brand do |deal|
      if deal.brand.present?
        link_to deal.brand.name, admin_brand_path(deal.brand)
      else
        status_tag('Empty')
      end
    end
  end
end

关于ruby-on-rails - 无法在关联模型的 Active Admin 索引属性中显示(belongs_to/has_many) - Rails 3.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19326625/

相关文章:

ruby-on-rails-3 - Rails 3 中的自动非 RESTful 路由?

ruby-on-rails - Rails如何判断数据库中某条记录是否有某列数据?

ruby-on-rails - 这行代码 "expect { |b| 5.tap(&b) }.to yield_control"在功能上实现了什么?

ruby-on-rails - 在rails中指定gem包的非发布版本

ruby-on-rails - 将自定义国家/地区字段选项添加到 country_select ruby​​ on rails gem

CentOS 6.2 上的 Ruby OpenSSL::SSL::SSLError

ruby-on-rails - 从 Rails Controller 在新选项卡中打开 url 链接

javascript - JS 文件双重包含在 Rails 应用程序中

ruby-on-rails - HAML 语法错误 "expecting $end"

ruby-on-rails - 自动化网站交互 - Mechanzie - Rails