Используйте это, убедитесь, что ваше удаленное действие не возвращает PDF, а просто генерирует и сохраняет его на сервере.
link_to "Generate PDF", prepare_books_path(@book), :remote => true, :method => :put
Это будет работать в Rails 3. Если вы используете jQuery, обязательно прочитайте эту статью о том, как правильно все настроить.
ВашДействие контроллера может выглядеть следующим образом:
def prepare
# Do your thing to generate the PDF
render :text => "PDF Generated", :status => 200
end
Я использовал метод PUT, потому что вы изменяете состояние ваших данных (например, вы генерируете что-то новое, вы не хотите, чтобы бот или сканер автоматическиназывать это).