2016-04-07 13 views
1

Я делал что-то совершенно другое с моим приложением, когда suddently мой application.html.erb остановил рендеринг в моих представлениях. Я даже взял все изменения, которые я сделал, и это не решило проблему. Что могло случиться? Я искал везде и пробовал разные вещи, ничего не работает. Все остальное отлично работает. Вот файлы с изменениями.Rails: Application.html.erb suddently stop rendering

application_controller

class ApplicationController < ActionController::Base 
    # Prevent CSRF attacks by raising an exception. 
    # For APIs, you may want to use :null_session instead. 
    protect_from_forgery with: :exception 
    helper_method :current_user 


    def initialize(attributes = {}) 
     @name = attributes[:name] 
     @email = attributes[:email] 
    end 

    def createRound 
     @gamerounds = Gameround.all 
     @gameround = Gameround.new({endtime: 'John Appleseed', active: true}) 

     respond_to do |format| 
      if @gameround.save 
      format.html { redirect_to @gameround, notice: 'Gameround was successfully created.' } 
      format.json { render :show, status: :created, location: @gameround } 
      else 
      format.html { render :new } 
      format.json { render json: @gameround.errors, status: :unprocessable_entity } 
      end 
     end 
    end 

    private 

    def current_user 
     @current_user ||= User.find(session[:user_id]) if session[:user_id] 
    end 

    def admin_user 
     @admin_user = User.find_by(username: 'Admin') 
    end 

    protected 
    def authenticate_user 
     if session[:user_id] 
     # set current user object to @current_user object variable 
     @current_user = User.find session[:user_id] 
     return true 
     else 
     redirect_to(:controller => 'sessions', :action => 'login') 
     return false 
     end 
    end 
    def save_login_state 
     if session[:user_id] 
     redirect_to(:controller => 'sessions', :action => 'profile') 
     return false 
     else 
     return true 
     end 
    end 
end 

Контроллер game_session

class GamesessionsController < ApplicationController 
    before_action :set_gamesession, only: [:show, :edit, :update, :destroy] 
    before_filter :authenticate_user, :except => [:index, :show, :new ] 
    layout :application 

    # GET /gamesessions 
    # GET /gamesessions.json 
    def index 
    @gamesessions = Gamesession.all 
    end 

    # GET /gamesessions/1 
    # GET /gamesessions/1.json 
    def show 
    end 

    # GET /gamesessions/new 
    def new 
    @gamesession = Gamesession.new 

    unless !session[:user_id] 
     if !current_user.admin? 
     redirect_to '/play' 
     end 
    end 
    end 

    # GET /gamesessions/1/edit 
    def edit 
    end 

    # POST /gamesessions 
    # POST /gamesessions.json 
    def create 
    Gamesession.delete_all 

    @gamesession = Gamesession.new(gamesession_params) 

    createRound 

    end 

    # PATCH/PUT /gamesessions/1 
    # PATCH/PUT /gamesessions/1.json 
    def update 
    respond_to do |format| 
     if @gamesession.update(gamesession_params) 
     format.html { redirect_to @gamesession, notice: 'Gamesession was successfully updated.' } 
     format.json { render :show, status: :ok, location: @gamesession } 
     else 
     format.html { render :edit } 
     format.json { render json: @gamesession.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # DELETE /gamesessions/1 
    # DELETE /gamesessions/1.json 
    def destroy 
    @gamesession.destroy 
    respond_to do |format| 
     format.html { redirect_to gamesessions_url, notice: 'Gamesession was successfully destroyed.' } 
     format.json { head :no_content } 
    end 
    end 

    private 
    # Use callbacks to share common setup or constraints between actions. 
    def set_gamesession 
     @gamesession = Gamesession.find(params[:id]) 
    end 

    # Never trust parameters from the scary internet, only allow the white list through. 
    def gamesession_params 

     params.require(:gamesession).permit(:players, :flares, :aliens, :gamesetup, expansion:[], level:[]) 


    end 
end 

config.routes

Rails.application.routes.draw do 


    resources :gamerounds do 
    resources :currentplayers 
    end 
    resources :gamesessions 
    # The priority is based upon order of creation: first created -> highest priority. 
    # See how all your routes lay out with "rake routes". 

# Artikkel, Alien liste 
    resources :expansions do 
    resources :aliens 
    end 

    resources :users 



    # You can have the root of your site routed with "root" 
    root 'gamesessions#new' 
    get "signup", :to => "users#new" 
    get "login", :to => "sessions#login" 
    post "login_attempt", :to => "sessions#login_attempt" 
    get "logout", :to => "sessions#logout" 
    get "profile", :to => "sessions#profile" 
    get "setting", :to => "sessions#setting" 
    get "play", :to => "gamesessions#index" 

    get "aliens", :to => "aliens#index" 


    #match ':controller(/:action(/:id))(.:format)' 

    # Example of regular route: 
    # get 'products/:id' => 'catalog#view' 

    # Example of named route that can be invoked with purchase_url(id: product.id) 
    # get 'products/:id/purchase' => 'catalog#purchase', as: :purchase 

    # Example resource route (maps HTTP verbs to controller actions automatically): 
    # resources :products 

    # Example resource route with options: 
    # resources :products do 
    #  member do 
    #  get 'short' 
    #  post 'toggle' 
    #  end 
    # 
    #  collection do 
    #  get 'sold' 
    #  end 
    # end 

    # Example resource route with sub-resources: 
    # resources :products do 
    #  resources :comments, :sales 
    #  resource :seller 
    # end 

    # Example resource route with more complex sub-resources: 
    # resources :products do 
    #  resources :comments 
    #  resources :sales do 
    #  get 'recent', on: :collection 
    #  end 
    # end 

    # Example resource route with concerns: 
    # concern :toggleable do 
    #  post 'toggle' 
    # end 
    # resources :posts, concerns: :toggleable 
    # resources :photos, concerns: :toggleable 

    # Example resource route within a namespace: 
    # namespace :admin do 
    #  # Directs /admin/products/* to Admin::ProductsController 
    #  # (app/controllers/admin/products_controller.rb) 
    #  resources :products 
    # end 
end 
+0

Где файл application.html.erb? И что вы делали, чтобы это сделать? – toddmetheny

+0

* взял все изменения *, что не похоже на использование git? –

+0

Я использую git, но в то время как я работал, мне было очень плохо. Таким образом, я сделал много других изменений, которые отлично работали до этого. – Candielope

ответ

3

Вы определяете метод initialize в своем контроллере без вызова super.

def initialize(attributes = {}) 
    @name = attributes[:name] 
    @email = attributes[:email] 
    super 
end 
+1

в контроллере, я думаю, что 'initialize' должен быть удален вообще. –

+0

@ ThomasR.Koll +1, я согласен –

+0

Большое вам спасибо! Это сработало! Я тестирую рельсы в первый раз. – Candielope

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