ActionController :: UrlGenerationError в Przychody # new - PullRequest
1 голос
/ 22 апреля 2020

извините, если об этом спрашивали раньше. Я искал свою проблему, но не мог найти точное решение или не понял его. Я довольно новичок в RoR или программировании в целом. Я следую инструкциям на этом сайте: https://guides.rubyonrails.org/getting_started.html. Я застрял на шаге 5.2 в части: url. Я думаю, что с моей маршрутизацией что-то не так, потому что это сообщение о моей ошибке:

No route matches {:action=>"show", :controller=>"przychody"}, missing required keys: [:id]

Вот мой файл rout.rb:

Rails.application.routes.draw do
  get 'welcome/index'

  resources :przychody

  root 'welcome#index'
end

Вот мой новый. html .erb file:

<h1>Nowy Przychód</h1>

<%= form_with scope: :przychod, url: przychody_path, local: true do |przychod| %>
  <p>
    <%= przychod.label :tytuł %><br>
    <%= przychod.text_field :tytuł %>
  </p>

  <p>
    <%= przychod.label :treść %><br>
    <%= przychod.text_area :treść %>
  </p>

  <p>
    <%= przychod.label :kwota %><br>
    <%= przychod.number_field :kwota %>
  </p>

  <p>
    <%= przychod.submit %>
  </p>
<% end %>

Вот что показывает мой рейк-маршрут:

 Prefix Verb   URI Pattern                                                                              Controller#Action
                        welcome_index GET    /welcome/index(.:format)                                                                 welcome#index
                      przychody_index GET    /przychody(.:format)                                                                     przychody#index
                                      POST   /przychody(.:format)                                                                     przychody#create
                        new_przychody GET    /przychody/new(.:format)                                                                 przychody#new
                       edit_przychody GET    /przychody/:id/edit(.:format)                                                            przychody#edit
                            przychody GET    /przychody/:id(.:format)                                                                 przychody#show
                                      PATCH  /przychody/:id(.:format)                                                                 przychody#update
                                      PUT    /przychody/:id(.:format)                                                                 przychody#update
                                      DELETE /przychody/:id(.:format)                                                                 przychody#destroy
                                 root GET    /                                                                                        welcome#index

Буду очень признателен, если кто-нибудь сможет объяснить мне, что не так, покажите мне ответ или дайте мне ссылку на пост с ответом.

1 Ответ

0 голосов
/ 22 апреля 2020

Эта ошибка возникает из-за url: przychody_path , как вы видели на рейк-маршрутах, это будет ожидать id значение.

<%= form_with scope: :przychod, url: przychody_path, local: true do |przychod| %>

Попробуйте использовать

<%= form_with scope: :przychod, url: "/przychody", local: true do |przychod| %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...