2017-01-08 47 views
0

我已成功在表'schedule_items'中创建了一个新列'page_title'。 'page_title'存在于'网页'表中。表'schedule_items'中存在'page_id',所以我知道拉入外键是可行的,并且可以在schedule_item.rb模型中看到关系“belongs_to:page”。我无法弄清楚如何让'page_title'列从'网页'表中拉入关联'page_title'列。任何帮助表示赞赏,谢谢!rails新列外键'null'

+2

请发表[MCVE],这样我们就可以看看你的尝试,并帮助你更好。 –

回答

1

Rails有一些特殊的代码,可以理解当您定义belongs_to :page时,它应该查找名为page_id的列。

Rails没有任何其他列的代码。没有代码会自动寻找page_title - 如果你想要,那么你需要做别的。

处理这个问题的常用方法是使用一个代表团如:

class Schedule 
    belongs_to :page 
    delegate :title, :to => page 

然后,你可以这样做:

schedule = Schedule.find(12345) 
schedule.title # => "Title for page associated with this schedule" 
+1

为了让你对这个问题有任何的感觉, – max

+0

:D有时候我可以弄明白......大部分时间我都不能...... :) –