Rails Event EventType模型关联 - nil的未定义方法`title':NilClass

问题描述 投票:0回答:2

我在Event-EventType模型关联中列出EventType标题时遇到问题。

在这种情况下,我有一个简单的事件模型和EventType模型。事件模型具有字段eventtype_id。

现在,当我想显示EventType标题时,我收到错误'undefined methodtitle'为nil:NilClass'

我试过belongs_tohas_many协会,但没有工作。可能我做错了什么。

Event Model:

Event Type Model:

Show EventType.Title problem Error

ruby-on-rails model associations belongs-to
2个回答
2
投票

如果你的模型是EventType,那么你的外键应该是event_type_id

继续你的结构,你可以尝试使用参数belongs_to自定义foreign_key: :eventtype_id,但它是一个黑客。

另一方面,你应该得到关于你的协会的错误,我不清楚你为什么不拥有它。

如果这不适合你,那么请在rails c(rails控制台)中调用你的目标对象,显示它的属性并仔细检查你是否真的有来自EventTypeEvent EventType.find([yout_event_id])调用belongs_to :event_type, foreign_key: :eventtype_id, class_name: "EventType"


1
投票

你应该试试

class EditField < ActiveRecord::Migration
  def up
    rename_column :table_name, :old_column, :new_column
  end

  def down
    rename_column :table_name, :new_column, :old_column
  end
end

要么

您可以通过编写迁移来重命名属性

qazxswpoi

然后运行rake db:migrate

© www.soinside.com 2019 - 2024. All rights reserved.