В моем файле представления у меня естьКак прервать метод destroy до его подтверждения?
% Td = link_to 'Destroy', fund_subfund_path (@fund, Subfund): метод => : удаление: данные => {: подтвердить => «Вы конечно?' }
Мой контроллер имеет
def destroy @subfund = Subfund.find(params[:id]) fund_id = @subfund.fund_id nickname = @subfund.nickname if @loans.empty? @subfund.destroy respond_to do |format| format.html { redirect_to fund_path(fund_id), notice: 'Subfund ' + nickname + ' was destroyed.' } format.json { head :no_content } end else respond_to do |format| format.html { redirect_to fund_path(fund_id), notice: 'Subfund ' + nickname + " has Loans, so can't be destroyed." } format.json { head :no_content } end end end
редиректы и сообщения работают отлично. Моя проблема в том, что даже если @loans не пуст, а действие @ subfund.destroy не выполняется, вы уверены, что? подтверждение все еще появляется.
Как перехватить этот метод до сообщение с подтверждением?
Я попробовал link_to_if в качестве альтернативы, но это все еще отображает «Уничтожить» как неактивную ссылку, которая, я думаю, будет запутать пользователя.
Этот ответ отлично подойдет для меня. Я добавил строку else, чтобы, если у субфонда нет кредитов, появляется ссылка «Destroy», и если у нее есть хотя бы один кредит, вместо этого она отображает, сколько у нее кредитов. – user962915