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

时间:2017-11-16 10:57:48

标签: ruby-on-rails model associations belongs-to

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

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

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

我尝试使用belongs_tohas_many关联,但没有工作。可能我做错了。

Event Model:

Event Type Model:

Show EventType.Title problem Error

2 个答案:

答案 0 :(得分:2)

如果您的模型是document.getElementById('saveDocument').onclick = function () { return editor.getText(); }; ,那么您的外键应为EventType

要继续使用您的结构,您可以尝试使用参数event_type_id自定义belongs_to,但这只是一个黑客攻击。

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

如果这对您不起作用,请在foreign_key: :eventtype_id(rails控制台)中提供您的目标对象,显示它的属性并仔细检查您确实拥有{{1}来自rails c的ID EventType

答案 1 :(得分:1)

你应该试试

belongs_to :event_type, foreign_key: :eventtype_id, class_name: "EventType"

或者

您可以通过编写迁移

来重命名属性
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

然后运行rake db:migrate