Почему я не могу создать новую запись в рельсах? - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь создать нового модератора:

index.erb

<%= link_to 'add new user', new_admin_moderator_path %>

routes.rb

namespace :admin do
    resources :moderator
  end

moderator_controller.rb

 def new
   @moderator = Moderator.new
 end
 def create
   @moderator = Moderator.new(moderator_params)
   if @moderator.save
     redirect_to admin_moderator_index_url
   else
     render 'new'
   end
 end

 private
   def moderator_params
        params.require(:moderator).permit(:id, :fullname, :username, :password)
   end

new.erb

<h1>Create new</h1>
<%= form_for [:admin , @moderator] do |u| %>
    <p>
        <%= u.lable :fullname %>
        <%= u.text_field :fullname %>
    </p>
    <p>
        <%= u.lable :username %>
        <%= u.text_field :username %>
    </p>
    <p>
        <%= u.lable :password %>
        <%= u.password_field :password %>
    </p>
    <p>
        <%= u.submit %>
    </p>
<% end %>

Это показывает ошибку, как показано ниже:

views/admin/moderator/new.erb where line #2 raised:
NoMethodError in Admin::Moderator#new
    undefined method `admin_moderators_path' for #<#<Class:0x607ce90>:0x907a0d0>
    Did you mean?  admin_moderator_path,
                   admin_moderator_index_path,
                   admin_moderator_url
Extracted source (around line #2):
<h1>Create new</h1> <%= form_for [:admin , @moderator] do |u| %> <p> <%= u.lable :fullname %> <%= u.text_field :fullname %> </p>

1 Ответ

0 голосов
/ 06 сентября 2018

измените эту строку в вашем new.html.erb

<%= form_for @moderator, url: 'path for your create action for moderator controller' do |u| %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...