Я обновляю apllication от рельсов 2 до рельсов 3. И переписываю маршруты с ресурсами. Как написать маршрут к следующим действиям:Маршруты. Rails 3
def delete_attachment
@object = Article.find(params[:id])
attachment = Attachment.find(params['attachment_id'])
attachment.attachment = nil
attachment.destroy
redirect_to :action => 'edit', :id => @object.id
end
def edit_attachment
@object = Article.find(params[:id])
attachment = Attachment.find(params['attachment_id'])
attachment.title = params['attachment_title']
attachment.description = params['attachment_description']
attachment.save
redirect_to :action => 'edit', :id => @object.id
end
def add_attachment
@object = Article.find(params[:id])
attachment = Attachment.new
attachment.attachment = params['attachment_file']
attachment.title = params['attachment_title']
attachment.description = params['attachment_description']
attachment.article_id = @object.id
attachment.save
params['attachment_title'] = nil
params['attachment_description'] = nil
redirect_to :action => 'edit', :id => @object.id
end
Это - правильное решение?
resources :articles do
delete '/articles/delete_attachment', :to => 'articles#delete_attachment'
put '/articles/edit_attachment', :to => 'articles#edit_attachment'
post '/articles/add_attachment', :to => 'articles#add_attachment'
end
У меня нет возможности проверить это на сервере, потому что по-прежнему существует много несовместимостей.
Спасибо, что abou edit_attachment.Which hhtp глагол использовать или положить? – AlxGol
В соответствии с вашим кодом, действие edit_attachment обновляет вложение, поэтому используйте PUT здесь. –