В настоящее время у меня есть общий список, который генерируется ActiveScaffold.В конце каждой строки в списке ActiveScaffold добавляет стандартные ссылки CRUD - Показать, Изменить, Удалить - для каждой записи.
Я не хочу использовать ActiveScaffold для этих действий (длинная история) и создалмои собственные контроллеры, чтобы справиться с этим.Я пытаюсь переопределить эти ссылки, чтобы они указывали на мои собственные контроллеры, но я не могу понять, как пройти через идентификатор записи.
Например, скажем, я хочу, чтобы новая ссылка для Show была / foo / show / [id] - у меня есть это в моей конфигурации ActiveScaffold:
config.show.link.action = "show"
config.show.link.parameters = {:controller => "foo", :id => ???}
Я не знаю, что пройти в id параметр.Я пытался использовать такие вещи, как: foo_id или foo_id, но контроллер не знает, что они.Например, когда я использую: foo_id, я просто получаю String - / foo / show / foo_id .
Мой контроллер находится ниже, но здесь не так много.
class MessagesController < ApplicationController
active_scaffold :messages do |config|
config.columns = [:eff_date, :exp_date, :type, :message]
config.show.link.action = "show"
config.show.link.parameters = {:controller => "show_messages", :id => ??}
end
end
Я бы хотел продолжать использовать ActiveScaffold для экрана списка, потому что на самом деле я не хочу показывать свою собственную версию списка.Я нашел парня, задающего тот же вопрос в группах Google, но ответа не было.
http://www.mail-archive.com/activescaffold@googlegroups.com/msg00798.html
Редактировать: я должен добавить, что отсутствие указания параметра: id на самом деле помещает идентификатор ActiveRecord по умолчанию в поле, но это не совсем то, что я хочу - опять же, длинная история ...: (