нет ошибки в файле - PullRequest
0 голосов
/ 20 мая 2010

У меня возникает ошибка, связанная с отсутствием маршрутов после рендеринга: частичная

<% unless @user.uploads.empty? %>
 <% @user.uploads.each do |u| %>
 <tr>
 <td><%= link_to u.filename, u.filename %></td>

это дает мне правильное имя файла, например http://localhost:3000/DSC00082.JPG. я ничего не добавил к своим маршрутам. за то, что вы новичок в рельсах, прошу прощения за мой (надеюсь) простой вопрос.

добавить вопрос: правильно ли для соответствующей записи базы данных быть просто именем файла?

после изменения кода выше на

<% unless @user.uploads.empty? %>
 <% @user.uploads.each do |uploads| %>
 <tr>
 <td><%= link_to (uploads.filename, uploads) %></td>

и добавление map.rescources: загрузить, сгенерировано сообщение «Действие не отображено». в адресной строке мой браузер показывает идентификатор соответствующего набора данных.

Привет, Devyn

1 Ответ

0 голосов
/ 20 мая 2010

Если u является подклассом ActiveRecord::Base, ваша ссылка должна быть такой:

<%= link_to u.filename, u %>

Тот же Rails обнаружит, что u является объектом с контроллером, и преобразует его в действительный URL-адрес REST (и перенаправит вас на действие show).

Если это не ваш сценарий, скажите, пожалуйста.

[РЕДАКТИРОВАТЬ]

Если вы знаете, как работает Rails, пропустите этот параграф:

С map.resources: upload вы сообщаете rails, что у вас есть ресурс под названием Upload, который имеет UploadController и генерирует маршруты для 5 действий: new/create, index, show, edit/update и destroy. Каждому действию нужен метод в контроллере (см. Пример ClientsController в Руководства по Rails ).

Повышение "Нет ответа на показ" возникает, когда у вас нет UploadsController#show. Пример этого метода:

def show
  @upload = Upload.find(params[:id])
  respond_to do |format|
    format.html
    format.xml {render :xml => @upload}
  end
end

Этот метод отображает файл view / uploads / show (не забудьте создать его).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...