Skip to content

Instantly share code, notes, and snippets.

@spencereldred
Created October 4, 2013 22:32
Show Gist options
  • Save spencereldred/6833943 to your computer and use it in GitHub Desktop.
Save spencereldred/6833943 to your computer and use it in GitHub Desktop.
Spencer's Week 2 Assessment
Spencer Eldred
October 4, 2013
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>
###### the script tag should say: rel="stylesheet" , instead of src="sytlesheet"
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>
##### it should say type="text/javascript" not type="text/script"
##### The scripts could overwrite one another, I would combine them into one script.
<link rel="stylesheet" href="/style.css">
<script type="text/javascript" src="/movies.js"></script>
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 will say:
hello 1
hello 2
4.)
What's the error?
function countPlusTenSquared(){
var increment = 10;
var count += increment;
return count*count;
}
#### Count needs to be declared before you operate on it. You can assign it in that statement, but the "+" operation tries to act on it before it is delcared. Things go from right to left.
5.)
Why is my form not working?
<form action="get" method="/">
<input type="text" name="my_name">
<input type="submit" value="submit name">
</form>
#### The method should be verb "get" and the action is the path "/".
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
#### params[:my_number] returns a string.
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
#### submitted_name should be made an instance variable: @submitted_name = params[:name]
and used as an instance variable: Hello <%= @submitted_name %>!
<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 %>
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.
###### to create should use the verb POST
POST '/name/create' # for submiting a 'new' name form,
# and creating
##### to delete, should use the verb DESTROY
DESTROY '/name/:id/delete' # for submitting a deleting for a name
##### to edit, should use the verb PUT or PATCH
GET '/name/:id/edit/post' # for submitting an edit
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 want to separate the controller from the view. This has the view in the controller.
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>
#### Again, you want to separate the controller from the view. You have the controller in the view.
You want to process the params[] variables in the controller.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment