Skip to content

Instantly share code, notes, and snippets.

@WizardNinja
Forked from OfTheDelmer/debug_1.md
Last active December 24, 2015 17:09
Show Gist options
  • Select an option

  • Save WizardNinja/6833368 to your computer and use it in GitHub Desktop.

Select an option

Save WizardNinja/6833368 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="sytlesheet" type="text/css" href="/style/style.css">
	</head>

src="stylesheet" should be rel="stylesheet"

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/script" src="/script/script_1.js"></script>
	<script type="text/script" src="/script/script_2.js"></script>
</head>

try ...script src="../script/script_1.js"></script> don't use type

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()
…

hello 1 hello 2

4.)

What's the error?

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

count was not initializd properly, should be: function countPlusTenSquared(count){ var increment = count + 10; return increment * increment; }

5.)

Why is my form not working?

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

Cause it's wrong, should be: ...form action="/" method="get"... ...

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

What does get "/double/2" return?


?

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 should be @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, because your using GET for everything which is not very representational. GET '/name/create' should use POST GET '/name/:id/delete' should use DELETE GET '/name/:id/edit/post should use PUT

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

You have html in your .rb file? Even if this compiles, you should still use a .erb for your views to separate functionality.

10.)

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

app.rb

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

show.erb

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

it's better to create person in your .rb file like this: get '/person/:name` do @person = params[:name] erb :show end

The ruby in your .erb should be purely for formating the data in order to present it. The more you can put in the .rb the better because it will reduce the load on the browser.

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