我试图对某些控制器代码进行更改。但是,我不明白该把它放在哪里。Rails关联 - 执行哪些控制器代码?
我有一个新的联系人窗体如下:
<%= f.association :location, :label_method => :name, :label => 'Location:' %>
我假定代码将在该位置的控制器执行的指数代码。
但是,我刚刚删除了位置索引中的所有代码,并且与位置关联的联系人表单中仍然有数据。
我想下面的代码在联系人关联语句执行,但我不知道在哪里把它:
@locations = Location.ordered_by_ancestry_and(:name).map { |l| [" " * l.depth + l.name, l.id] }
UPDATE1
这是development.log
Processing by ContactsController#new as HTML
Location Load (0.2ms) SELECT "locations".* FROM "locations" ORDER BY (case when locations.ancestry is null then 0 else 1 end), locations.ancestry, name
UPDATE2
我更改了ContactsController#new以进行测试:
# GET /contacts/new
# GET /contacts/new.json
def new
@locations = Location.first
而我仍然在选择框中的所有位置。
控制器代码只会得到执行,并且,只有当一个链接之后或形式发布情况。你是什么意思“执行索引代码”?你是否遵循'log/development.log'说什么控制器方法正在执行? – tadman 2013-05-06 15:27:54