Почему я получаю эту ошибку с моим приложением RoR? - PullRequest
0 голосов
/ 13 марта 2011

Я получаю эту ошибку:

NoMethodError in Videos#new

Showing /rubyprograms/dreamstill/app/views/videos/new.html.erb where line #1 raised:

undefined method `videos_path' for #<#<Class:0x10398f8d8>:0x10398dbc8>

У меня есть одна модель видео и контроллер видео с методом new и create. Мой routes.db файл имеет root :to => "videos#new". У меня есть одно представление new.html.erb с этим кодом:

<%= form_for(@video) do |f| %>
  <% if @video.errors.any? %>
    <div id="errorExplanation">
      <h2><%= pluralize(@video.errors.count, "error") %> prohibited this video from being saved:</h2>

      <ul>
      <% @video.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>
  <div class="field">
    <%= f.label :video_url %><br />
    <%= f.text_field :video_url %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

И мой контроллер имеет это:

def new
 @video = Video.new
end

def create
@video = Video.new(params[:video])

respond_to do |format|
  if @article.save
    format.html #{ redirect_to(@video, :notice => 'Article was successfully created.') }
  else
    format.html { render :action => "new" }
  end
 end
end

Это все, что есть в моем файле маршрутов:

 Dreamstill::Application.routes.draw do
   root :to => "videos#new"
 end

1 Ответ

4 голосов
/ 13 марта 2011

ваши маршруты должны быть

 Dreamstill::Application.routes.draw do
   root :to => "videos#new"
   resources :videos
 end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...