I’m new to Ruby on Rails, so please pardon my ignorance. My issue is that I cannot access the Rails project from the browser. I assume it has something to do with the Rails config, but I am having no luck so far.
State of the Project
- I have existing logic (controllers, models, migrations, …).
- If I leave index.html in place, I see the Rails welcome page because it is apparently rendered before Rails tries to parse the URL.
- If I disable index.html, I get the ‘Something went wrong’ message which is generated by Rails.
- If I have the httpd.conf document root set to ‘my.domain.com/public’ I get the Rails error, but if I have it set to ‘my.domain.com/’, I get an error served up by Apache instead. (So that seems to be correctly configured.)
- The error logs show this error:
File does not exist: /var/www/html/my.domain.com/zombieswhen I hit the URL.
My Environment
- Rails 3.2.6
- Ruby 1.9.3
- Apache 2.2.3
- CentOS
If it matters, I’m simply following the tutorial at Rails for Zombies 2.
Thanks in advance!
Reference
zombies_controller.rb
class ZombiesController < ApplicationController
# GET /zombies
# GET /zombies.json
def index
@zombies = Zombie.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @zombies }
end
end
# GET /zombies/1
# GET /zombies/1.json
def show
@zombie = Zombie.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @zombie }
end
end
# GET /zombies/new
# GET /zombies/new.json
def new
@zombie = Zombie.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @zombie }
end
end
# GET /zombies/1/edit
def edit
@zombie = Zombie.find(params[:id])
end
# POST /zombies
# POST /zombies.json
def create
@zombie = Zombie.new(params[:zombie])
respond_to do |format|
if @zombie.save
format.html { redirect_to @zombie, notice: 'Zombie was successfully created.' }
format.json { render json: @zombie, status: :created, location: @zombie }
else
format.html { render action: "new" }
format.json { render json: @zombie.errors, status: :unprocessable_entity }
end
end
end
# PUT /zombies/1
# PUT /zombies/1.json
def update
@zombie = Zombie.find(params[:id])
respond_to do |format|
if @zombie.update_attributes(params[:zombie])
format.html { redirect_to @zombie, notice: 'Zombie was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @zombie.errors, status: :unprocessable_entity }
end
end
end
# DELETE /zombies/1
# DELETE /zombies/1.json
def destroy
@zombie = Zombie.find(params[:id])
@zombie.destroy
respond_to do |format|
format.html { redirect_to zombies_url }
format.json { head :no_content }
end
end
end
Running
rake assets:precompileseems to have fixed my issue. Thanks all.