рельсы создают индивидуальные действия - PullRequest
0 голосов
/ 17 ноября 2011

я создал небольшое приложение для обучения, которое имеет 3 модели:

class Resource < ActiveRecord::Base
  belongs_to :task
  belongs_to :user
end

class User < ActiveRecord::Base      
     has_many :resources
     has_many :tasks, :through=>:recources
end


class Task < ActiveRecord::Base
  has_many :resources, :dependent => :destroy
  has_many :comments, :dependent => :destroy
  has_many :users, :through=>:resources

  accepts_nested_attributes_for :resources,:comments 

end

все в порядке - перечисление, создание и т. Д. Но я хочу составить представление о том, какой пользователь загружает текстовый файл, содержащий задачи (не важно, как я могу прочитать текстовый файл), поэтому я читаю файл и извлекаю задачи. Я создал контроллер с именем загрузки:

class UploadController < ApplicationController
  def index
  end

  def upload
    flash[:notice]="Upload completed"
  end

end

и индексный вид, подобный этому:

<% if flash[:notice] %>
   <p><%= flash[:notice] %></p>
<% end %>

<div class="upload">
  <p>Select a project file</p>
  <%= form_tag :controller=>:upload,:action => :upload,:method => :put do %>

  <%= file_field 'Project File',:file %>
  <%= submit_tag "Upload" %>

  <% end %>
</div>

когда я нажимаю кнопку загрузки, появляется сообщение «Отсутствует загрузка / выгрузка шаблона ....»

Как я могу выполнить это действие, дайте мне совет, плз.

Спасибо

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

Отсутствует загрузка шаблона / uploa .... "

Rails ищет представление: app / views / upload / upload.html.erb

PS. Вам нужно добавить в: multipart => true в форме для загрузки файла;)

0 голосов
/ 17 ноября 2011

Каждое действие пытается отобразить шаблон с тем же именем, что и он сам, если вы не указали ему, что именно render или redirect_to.Итак, что вы можете сделать, это:

     render :nothing => true

Это должно делать то, что вы хотите.

Кроме того, документация приличная в отношении того, что вы можете сделать с render

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