Я не совсем уверен в этом, но постараюсь помочь ... Я верю, что что-то вроде следующего может работать для вас:
# calls controller
in_place_edit_for :call, :days
# emails controller
in_place_edit_for :email, :days
# letters controller
in_place_edit_for :letter, :days
# campaign view
<% @campaign_events = campaign_events %>
<% @campaign_events.each do |campaign_event| %>
<% controller_name = campaign_event.class.name.tableize %>
<% model_name = controller_name.singularize %>
<p>
<%= link_to campaign_event.title,
send("#{model_name}_path", campaign_event) %>
<span class='model_name'>(<%= model_name.capitalize %>)</span>
<%= in_place_editor_field model_name, :days, {},
:url => {
:controller => controller_name,
:action => 'set_#{model_name}_title',
:id => campaign_event.id} %> Days
</p>
<% end %>
Есть кое-что, что я не знаю точно, как это сделать:
1) in_place_editor_field model_name
Я считаю, что это не сработает, но я не знаю, как передать имя модели.
2) :action => 'set_#{controller_name}_title'
Не уверен в этом тоже. Просто не выглядит правильно.
В любом случае, надеюсь, это поможет вам ... и простите меня, если это совершенно глупо.