Итак, я новичок в Ruby/Sinatra, сделал кучу уроков codecademy и тому подобное. Я решил, что до тех пор, пока я не построю что-то, я бы не понял некоторые основные понятия.Sinatra to-do list tutorial problems
Я нашел tutorial для создания приложения списка дел в Синатре, и все было хорошо и хорошо, пока я не получил функциональность редактирования и удаления. Я могу читать и писать в/из базы данных, но всякий раз, когда я пытаюсь редактировать или удалять, он пропускает прямо к «Примечание не найден».
Я не мог понять это сам, поэтому я попросил моего друга-разработчика. Когда я отправил ему код, все работало для него отлично! Мы попробовали пару различных возможных исправлений, но до конца. Я даже скачал код от парня github, на всякий случай, когда была какая-то ошибка в моем собственном коде, безрезультатно.
Итак, я прихожу сюда с просьбой о помощи! Почему это не будет работать!
Уточнение: Вот некоторые из кода, где я думаю, что проблема может быть ложью. В файлах edit.erb и delete.erb, независимо от того, что он будет делать с инструкцией else и отправит мне «note not found». Он правильно читает базу данных, так как моя домашняя страница может добавлять и показывать заметки.
recall.rb
get '/:id' do
@note = Note.get params[:id]
@title = "Edit note ##{params[:id]}"
erb :edit
end
put '/:id' do
n = Note.get params[:id]
n.content = params[:content]
n.complete = params[:complete] ? 1 : 0
n.updated_at = Time.now
n.save
redirect '/'
end
get '/:id/delete' do
@note = Note.get params[:id]
@title = "Confirm deletion of note ##{params[:id]}"
erb :delete
end
delete '/:id' do
n = Note.get params[:id]
n.destroy!
redirect '/'
end
edit.erb
<% if @note %>
<form action="/<%= @note.id %>" method="post" id="edit">
<input type="hidden" name="_method" value="put">
<textarea name="content"><%= @note.content %></textarea>
<input type="checkbox" name="complete" <%= "checked" if @note.complete %>>
<input type="submit">
</form>
<p><a href="/<%= @note.id %>/delete">Delete</a></p>
<% else %>
<p>Note not found.</p>
<% end %>
delete.erb
<% if @note %>
<p>Are you sure you want to delete the following note: <em>"<%= @note.content %>"</em>?</p>
<form action="/<%= @note.id %>" method="post">
<input type="hidden" name="_method" value="delete">
<input type="submit" value="Yes, Delete It!">
<a href="/<%= @note.id %>">Cancel</a>
</form>
<% else %>
<p>Note not found.</p>
<% end %>
Если вы не разместите у нас короткий, рабочий пример, демонстрирующий вашу проблему, вы действительно спрашиваете нас: «Что у меня в карманах?» – mcfinnigan
отредактировано для некоторого уточнения, спасибо – megafrogg