неопределенный метод `whiteboards_path 'для - PullRequest
0 голосов
/ 13 марта 2019

Я новичок в rails и пытаюсь создать новую страницу с довольно простой формой, но она продолжает возвращаться с этой ошибкой (перечисленной ниже) в строке <%= form_for @whiteboard do |f| %>. Я просматривал похожие посты, где люди сталкивались с той же проблемой, что и я, но ни одно из решений не помогло мне. Буду очень признателен за помощь, спасибо!

Сообщение об ошибке:

NoMethodError in Whiteboard#new

undefined method `whiteboards_path' for #<#<Class:0x37014d8>:0x36b2d10>
Did you mean?  whiteboard_path

<%= form_for @whiteboard do |f| %>
  <div>
      <% f.label :title %>
      <% f.text_field :title %>
  </div>

Мой контроллер:

class WhiteboardController < ApplicationController

def index
    @whiteboards = Whiteboard.all;
end

def show
  @whiteboard = Whiteboard.find(params[:id])
end

def new 
  @whiteboard = Whiteboard.new
end

end

My View (whiteboard / new.html.erb):

<%= form_for @whiteboard do |f| %>
    <div>
        <% f.label :title %>
        <% f.text_field :title %>
    </div>

    <div>
        <% f.label :description %>
        <% f.text_field :description %>
    </div>

    <div>
        <% f.submit :title %>
    </div>
 <% end %>

Мои маршруты:

Rails.application.routes.draw do

  root to: 'home#index'

  resources :whiteboard

  get 'whiteboard/wbpage'

  get 'home/index'
  get 'home/info'

  devise_for :users
end

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Мое предложение, пожалуйста, обратите внимание

  • при создании контроллера используйте множественное число
  • при создании модели используйте Singular (первая буква должна быть верблюжьей)

Например

rails g controller articles 
rails g model Article 
0 голосов
/ 13 марта 2019

Это простая ошибка множественного числа.

resources :whiteboards

В Rails resources всегда должно быть во множественном числе.В редких случаях, когда у вас есть реальный единственный ресурс , вы должны использовать resource вместо него.

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