2015-01-17 2 views
0

ошибкинеинициализированной постоянной YOURSPACE :: UsersController :: Пользователь

uninitialized constant YourSpace::UsersController::User 

контроллер

class YourSpace::UsersController < ApplicationController 

def new 
@title = YourSpace 
end 

def edit 
@title = YourSpace 
@user = User.find(params[:id]) 
end 

def update 
    name = params[:user][:name] 

    if name.blank? 
    flash[:notice] = "Name can not be blank dawg!" 
    redirect_to :back 
    else 
    User.find(params[:id]).update_attributes(params[:user]) 
    # redirect_to :action 'show' 
    redirect_to :action => :show 
    # render :action => 'show' 
end 
end 

def index 
    @title = YourSpace 
    @users = User.limit(100).order('created_at DESC') 
end 

def show 
    @title = YourSpace 
    @user = User.find(params[:id]) 
end 
end 

маршруты

Rails.application.routes.draw do 


root 'site#home' 
get '/about', to: 'site#about', as: :about 

namespace :your_space do 
resources :users 
end 

namespace :word_cloud do 
resources :words, :only => [:index, :create] 
end 

namespace :word_clock do 
resources :page, :only => [:index] 
end 

namespace :wish do 
resources :page, :only => [:index] 
end 

end 

при стрельбе на сервере рельсов, я получаю сообщение об ошибке в YOURSPACE UsersController где эта строка кода @users = User.limit (100) .order ('created_at DESC'), по-видимому, все поднята. Пожалуйста, знайте, что я пытаюсь дублировать 180 веб-сайтов за 365 дней, которые в основном построены с использованием рубинов и рельсов. Я внимательно слежу за репо, чтобы построить мышечную память. очень много нового, чтобы научиться мыслить и программировать.

+0

Возможно, вы захотите реорганизовать этот код, особенно когда дело доходит до действия 'update'. Несколько вопросов: - вы сначала хотите найти модель, если она существует, это поднимет ошибку ActiveRecord :: RecordNotFound - которая отобразит 404 страницу - вы хотите визуализировать: снова отредактируйте форму, таким образом, модель будет иметь все значения, введенные пользователем. –

+0

нет модели, связанной с your_space. это мои модели понимания в структуре mvc необходимы только при работе с реляционной базой данных, правильно? поэтому я должен только создать контроллер с соответствующими представлениями для рендеринга в браузер. опять же, совершенно новый, чтобы научиться думать и настраивать приложение для рельсов. в то время как я нахожусь в курсе учебника hartl, я решил раскрыть и воссоздать проект кем-то из сообщества, где 180 сайтов были разработаны за 180 дней. снова, чтобы построить мышечную память. – Justin

+0

Обучение через пальцы в порядке. Тем не менее, вы хотите изучить хорошие вещи. Этот код выглядит хорошо https://www.railstutorial.org/book/updating_and_deleting_users –

ответ

0

Первая мысль была неправильно .. чтобы решить изменение проблемы User в ::User


Моя первая мысль, что вам нужно поместить этот YourSpace::UsersController в app/controllers/your_space/users_controller.rb. Rails создает структуру каталогов.

+0

. Структура парковочных мест для контроллера настроена так же, как в данный момент, в контроллерах с вашим каталогом your_space с файлом users_controller.rb, который, я думаю, вы говорите настроен неправильно? – Justin

+0

Теперь я чувствую себя глупо. не прочитал ваш вопрос в полной мере. По причинам я не совсем уверен, что он автоматически присваивает имена в режиме «Пользователь» в текущем пространстве имен. Если вы напишете ':: User', он будет знать, чтобы вернуться в корневое пространство имен. –

+0

Я до сих пор не понимаю – Justin

Смежные вопросы