Обновление # 1 Удивительно, но если в Firebug я меняю сгенерированный HTML на , он работает как положено. Но чтобы сделать этот обходной путь постоянным, мне придется изменить код ActiveScaffold.
Обновление № 2 На данный момент я изменил код ActiveScaffold. Это решает мою проблему. Но на вопросы до сих пор нет ответа.
У меня есть модель ListingMovie:
class ListingMovie
has_many :movie_shows, :dependent => :destroy
belongs_to :movie
...
...
end
и MovieShow:
class MovieShow
belongs_to :listing_movie
validates_presence_of :start_time, :end_time
end
У меня есть Manage :: ListingMoviesController:
class Manage::ListingMoviesController < Manage::BaseController
helper Mange::MovieShowsHelper
active_scaffold :listing_movie do |config|
config.columns = [:movie, :listing, :start_date, :end_date, :movie_shows]
config.columns[:listing].form_ui = :select
config.columns[:movie].form_ui = :select
end
protected
def self.active_scaffold_controller_for(klass)
return Manage::MoviesController if klass == Movie
return Mange::MovieShowsController if klass == MovieShow
end
end
и Управление :: MovieShowsController
class Manage::MovieShowsController < Manage::BaseController
active_scaffold :movie_show do |config|
config.subform.columns = [:start_time, :end_time]
end
end
Когда я пытаюсь создать / обновить ListingMovie, мне показывают форму с завершением «Create Another Movie Show». Ранее, когда я щелкнул по нему, он сделал запрос Ajax и добавил два новых поля внизу формы, которые позволили мне указать start_time и end_time для связанного MovieShow. Теперь, когда я нажимаю на него, к серверу не делается никаких запросов. И, следовательно, новые поля не добавляются в форму.
Ниже приведен HTML-код кнопки:
<input data-remote="true" href="/manage/listing_movies/edit_associated?association=movie_shows" id="as_manage__listing_movies--movie_shows-subform-create-another" style="" type="button" value="Create Another Movie show">
Я не могу отладить это, так как вижу ошибки. Нажатие на кнопку просто ничего не делает.
Следует отметить, что если я поместил в форму некоторые ошибочные данные, а затем попытался «создать / обновить» ListingMovie, форма снова отобразится с «новыми» полями формы для указания start_time и end_time. *
Я использую Rails 3.0.1 и ActiveScaffold 3.0.6
Спасибо!