Дублирование записи в Rails 3
У меня есть модель рецепта в моем приложении Rails 3. Я пытаюсь найти лучший метод, позволяющий дублировать записи, но позволяющий пользователю "просматривать" дубликат перед его сохранением.
Я прочитал ряд вопросов / ответов на SO (таких какэтот 1) которые объясняют, как дублировать / клонировать запись, а затем сохранить ее, но не объясняют, как показать форму перед сохранением.
Чтение Rails API являетсяклон метод доступен.
чтениедругие вопросы и ответы показывают, что это можно сделать, но нет примера кода, кроме:
new_record = old_record.dup
Код контроллера, с которым я сейчас работаю, выглядит следующим образом (модель не имеет каких-либо связей):
# POST /prescriptions
# POST /prescriptions.json
def create
@prescription = Prescription.new(params[:prescription])
@prescription.localip = request.env['REMOTE_ADDR']
@prescription.employee = @prescription.employee.upcase
respond_to do |format|
if @prescription.save
format.html { redirect_to @prescription, notice: 'Prescription was successfully created.' }
format.json { render json: @prescription, status: :created, location: @prescription }
else
format.html { render action: "new" }
format.json { render json: @prescription.errors, status: :unprocessable_entity }
end
end
end
Я собираюсь связать это действие клона с точки зрения:
<%= link_to "Create another like this?", clone_prescription_url(@prescription), :method => :put %>
Это так просто, как добавить действие в мой контроллер, как это?
def clone
@prescription = Prescription.find(params[:id])
@prescription.dup
@prescription.save
end
Приносим извинения, если приведенный выше код является полностью неправильным, я пытаюсь разобраться с этим! Я виделкто то делать то, что я пытаюсь достичь с помощью клонирования, но не редактировать перед сохранением.
Пользователь, который копирует, не будет иметь права редактировать запись после сохранения. Это чисто для первоначального ввода данных.