破壊メソッドと日破壊メソッド
rubyでアルファベット小文字の入力値を大文字に変換して出力する課題にて・・
puts "入力してください"
input = gets
output = input.upcase!
puts output
このコード。
upcase!は破壊メソッドだから、inputの値を変更する。
ここではoutputという変数を使っているので非破壊メソッドのupcaseを使えば良い。
以前ログイン機能作成時にメールアドレスをdowncase!で変換したことがあった。その時はなんとなく使っていたが『!』の意味がわかって納得した。
【sinatra】rubyをerb(html)上で使用する
sinatraではルーティングを.rbに、ビューを.erbに記述するのでした。
html上で、フォームの取得値等のインスタンス変数を利用するときなど、rubyを使用する際のtipsです。
ex.erb____________________________
<% price = 125500 * 1.08 %>
<p>
パソコンの値段は<%= price %>円です。
</p>
________________________________
<%= %>で囲むと画面上に出力されます。
<% %>は、eachメソッドや、whileメソッド、ifメソッド endなど、画面に出力する必要がないが、Rubyのコードとして、実行したいものに使用しましょう。
【http】メソッド【get post ...】
説明にsinatraを使用したコードを利用しています。
GETメソッド
サーバー側にリクエストを送信します。
URLの末尾に情報が付与されているため、簡単に送信内容が確認できますが、セキュリティー的な問題があります。
.rb__________________________
require "sinatra"
get '/a' do
erb :a
end
.erb_________________________________________________
<form action="/a" >
メール:<input type = "text" name = "email">
<!-- GETメソッド
送信のとき、メールアドレスをクエリパラメータとして送信-->
</form>
_____________________________________________________
POSTメソッド
第三者に見えてはならない情報を送信する際に使用します。
フォームは基本、POSTメソッドを使用します。
POSTはメッセージボディと呼ばれる、情報が簡単に確認されない部分に情報を記述してリクエストを送るため、安全に情報を遅れます
.rb____________________________________________________
post '/a' do
erb :a
end
.erb_____________________________________________________
<form action="/a" method="POST">
メール:<input type = "text" name = "email">
</form>
【html】基本的なフォームのタグ、スタイル
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1>お問い合!せ</h1>
<form type = '/a'>
<!--formタグのタイプを指定することにより送信後の遷移先を指定-->
<div>
お名前:<input type = "text">
</div>
<!--インライン要素をdivでブロックにして、改行-->
<div >
メール:<input type = "text" name = "email">
<!--送信のとき、アドレスをクエリパラメータとして送信-->
</div>
お問い合わせ内容:
<br>
<textarea cols=40 rows=4></textarea>
<!--大きめの入力フォーム-->
<div>
<input type = "submit">
</div>
</form>
</body>
</html>