Изменить действие обновления в самоцвете jeditable rails - PullRequest
0 голосов
/ 13 мая 2011

Я бы хотел, чтобы поле editable_field вызывало пользовательское действие в моем контроллере вместо вызова метода 'update'.

Это мой код в файле haml (я пишу действие, которое хочу вызвать, в: атрибут действия):

editable_field(today_clockings[col-1], :clocking, |
   {:update_url => resource_clocking_path(@resource, today_clockings[col-1]), :action => "update_ts_clocking"}) |

1 Ответ

1 голос
/ 16 июля 2011

Чтобы сделать то, что вы хотите, вам нужно отредактировать файл маршрутов, чтобы создать маршрут к действию. Например:

In rout.rb

match "today_clocking/update_ts_clocking" => 'today_clocking#update_ts_clocking', :as => :update_ts_clocking

Тогда в вашем представлении :

<%= editable_field(today_clockings[col-1], :clocking, {:update_url => update_ts_clocking_path) %>

Тогда today_clockings_controller.rb будет выглядеть примерно так:

def update_ts_clocking
    # Update model here with params[:today_clocking][:clocking]
end
...