Skip to content

Instantly share code, notes, and snippets.

@Colt
Forked from OfTheDelmer/debug_1.md
Last active December 24, 2015 17:09
Show Gist options
  • Save Colt/6833367 to your computer and use it in GitHub Desktop.
Save Colt/6833367 to your computer and use it in GitHub Desktop.

#Debugging (Use The Duck… )

Find the errors in the following

1.)

My script is loading fine, but separate style sheets aren't working

 <!DOCTYPE html>
	
<html>

	<head>
		<script src="/script/script.js"></script>
		<link src="stylesheet" type="text/css" href="/style/style.css">
	</head>

YOU MISSPELLED STYLSHEET

2.)

My scripts are loading, but they aren't working! How should I fix them? What's wrong?

<!DOCTYPE html>

<html>

<head>
	<script type="text/javascript" src="/script/script_1.js"></script>
	<script type="text/javascript" src="/script/script_2.js"></script>
</head>

CHANGED "text/script" to "text/javascript" 3.)

If the CLICK ME button is clicked twice what does the console display?

html (the error isn't here)

…

<button id="someId">CLICK ME</button>
… 

JS

…
var count = 0;
function clickAction(){
	count += 1;
	console.log("hello "+ count)
}

document.getElementById("someId").onclick = clickAction()
…

It displays 'Hello 1' in the console


4.)

What's the error?

function countPlusTenSquared(){
	var increment = 10;
	var count += increment;
	return count*count;
}

You're initializing count and changing its value at the same time. You need to declare it first and then use it.


5.)

Why is my form not working?

<form action="get" method="/">
	<input type="text" name="my_name">
	<input type="submit" value="submit name">
</form>

YOU SWITCHED ACTION AND METHOD


6.)

My double route isn't working! Why isn't the route working?

…
get "/double/:my_number" do
	
  input = params[:my_number]
  @double = 2*input
 
 erb :show
  
end

You need to convert input to an int before you double it

What does get "/double/2" return?

22


7.)

My greet route isn't working! What should I change?

app.rb

get "/greet/:name" do
	
	submitted_name = params[:name]
	
	erb :show
end

show.erb

<div>
	 Hello <%= submitted_name %>!
</div>

When I go to /greet/world expecting Hello World!, but I get the following error:

 NameError at `/greet/world`
undefined local variable or method `id' for
 #<Sinatra::Application:0x007f892315d160>
 
 BACKTRACE
 ____________________________________________
 2.		<%= submitted_name %>

submitted_name isn't an instance variable!!!! Change it to @submitted_name


8.)

Is this RESTful?

I have a site http://somelist.com that stores peoples names in a list.

I made the following routes

GET '/name/new'			# for showing a new form

GET '/name/create'		# for submiting a 'new' name form,
						# and creating
						
GET '/name/:id/delete'	# for submitting a deleting for a name

GET '/name/:id/edit			# for showing a new edit form

GET '/name/:id/edit/post'	# for submitting an edit
							# from a form

Please give a little explanation.

No, it's not RESTful. Instead of using the http methods like delete, patch, etc. you're only using GET and then recreating the functionality of those methods. I have no clue if this is correct, but I'm hoping it is.


9.)

What do you think of my controller? I don't even need a view. Why shouldn't I put all this in my controller?

get "/" do
	pageTitle = "myApp!"
	"<!DOCTYPE html>
	<html>
		<head>
				<title>#{pagetitle}</title>
		</head>
		<body>
				<div>
					Hello there!
				</div>
		</body>
	</html>"
end

pagetitle should be pageTitle in your html code.


10.)

Look at my view! This works, but why should I be doing things this way?

app.rb

get '/person/:name` do
	erb :show
end		

show.erb

	<div>
		<% person = params[:name] %>
	
		Hello <%= person %>
	</div>

You should minimize the amount of ruby logic in your erb files and instead do the variable assignment in your main ruby file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment