Ich werde eine Rail-Anwendung erstellen, die Eingabe aus einer CSV-Datei nimmt und auf der Webseite anzeigen.Ich bin mit dem Routing-Fehler in Schienen als nicht initialisierte Konstante konfrontiert. UserController
Nachdem ich alle nötig stopft Ich bin vor dieser: Routing Fehler
nicht initialisierte Konstante Usercontroller
Meine app \ Controller \ users_controller.rb Datei ist: -
class UsersController < ApplicationController
def index
@users=User.all
end
def import
User.import(params[:file])
redirect_to root_url, notice: "Activity data imported!"
end
end
Meine app \ model \ user.rb-Datei ist: - Klasse Benutzer < ActiveRecord :: Base erfordern 'csv'
def self.import(file)
CSV.foreach(file.path, headers:true) do |row|
User.create! row.to_hash
end
end
end
Meine app/views/users/index.html.erb Datei ist: -
<%= flash[:notice] %>
<table>
<thead>
<tr>
<th>Name</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<% @users.each do |user| %>
<tr>
<td><%= user.user %></td>
<td><%= user.age %></td>
</tr>
<% end %>
</tbody>
</table>
<div>
<h4>Import the data!</h4>
<%= form_tag import_users_path, multipart: true do %>
<%= file_field_tag :file %>
<%= submit_tag "Import CSV" %>
<% end %>
</div>
Meine config \ routes.rb Datei ist: -
Rails.application.routes.draw do
get 'users/index'
get 'users/import'
resources :users do
collection {post :import}
end
root to: "user#index"
end
Ich habe keine #markierte kommentierte Zeile aus routes.rb Datei hier gepostet. Der Schnappschuss des Ausgangsschirms ist hier: - wenn auf den Import CSV-Taste wird der folgende Fehler klicken wird angezeigt:
Benennen Sie 'UsersController' in' UserController' um –
Ändern Sie die Routenzeile zu 'root to:" users # index "' – Anand
Muss ich irgendeinen Dateinamen ändern? – Charleemagnee