-
railsでコントローラにフラグを持たせてビューで表示をフラグにて切り替える方法
●コントローラ
class TasksController < ApplicationController
def index
@flag = false
end
end
●ビュー
<% if @flag == true then %>
yokohama
<% else %>
saitama
<% end %>
●解説
まずコントローラ側で
@flag = false
のようにフラグを設定する。 @flag はビュー側で認識できる。
ビュー側では、フラグを参照し、trueならyokohamaと表示、
それ以外なら saitama と表示、という切り替え処理をしている。
これは、@flagの内容によって、ifとelseの分岐をさせているからである。
2013-06-06
-
railsで文字列の長さをビューで表示する方法
●コントローラ
class TasksController < ApplicationController
def index
@result = 'kanagawa'
end
end
●ビュー
<h1>Tasks#index hoge yamato</h1>
<hr/>
<% msg = 'nagoya'%>
<%= msg %> <br/>
<%= msg.length %> <br/>
<hr/>
<%= @result %> <br/>
<%= @result.length %> <br/>
●解説
rubyでは文字列もオブジェクトとして渡される。よって、.lengthで文字列の長さを取得できる。
上記の例では、kanagawaという文字列をコントローラで定義し、ビューに渡しているが、
ビュー側でlengthを取得し、8文字であることをブラウザに表示させている。
nagoyaは6文字である。
2013-06-04
-
railsでGoogleにリンクする(ビューのみ)
●ビュー
<% googleUrl = 'http://www.google.co.jp' %>
<%= link_to('guguru',googleUrl) %>
●解説
ビューにて link_to と記載することで、リンクを設定できる。
リンク先のURLは、上記では googleUrl という変数に入れている。
ブラウザ上で guguru という文字をクリックすると、グーグルが表示される。
2013-06-04
-
railsコマンドでコントローラとビューの大枠を自動作成する
DOS窓でrailsのアプリケーションルートに移動し、
rails generate controller tameshi01 index
を実行すると、下記が生成される。
●コントローラ
\app\controllers\tameshi01_controller.rb
class Tameshi01Controller < ApplicationController
def index
end
end
●ビュー
\app\views\tameshi01\index.html.erb
<h1>Tameshi01#index</h1>
<p>Find me in app/views/tameshi01/index.html.erb</p>
2013-06-04
-
railsでビューに任意の文字を出力する方法
●コントローラ側
class TasksController < ApplicationController
def index
@result = 'tokyo'
end
end
●ビュー側
<h1>Tasks#index hoge yamato</h1>
<hr/>
<% msg = 'nagoya'%>
<%= msg %>
<hr/>
<%= @result %>
●解説
nagoya はビュー側で定義し、ビューで表示させている。
tokyoは、コントローラ側で定義し、ビューで表示させている。
コントローラ側で定義した「@変数名」の文字列を
ビュー側で表示させることができる。
●表示イメージ(ブラウザ)
Tasks#index hoge yamato
nagoya
tokyo
2013-06-04
-
rails(ruby)で簡単な配列を操作する
●コントローラ側
# coding: utf-8
class TopController < ApplicationController
def index
# 配列を定義する
japan = ["tokyo","osaka","nagoya"]
@val = ""
japan.each{|param|
@val = @val << param << ", " # << は追記を意味する
}
end
end
●ビュー側
<h1>表示ビュー側</h1>
<%= @val %>
●表示結果
表示ビュー側
tokyo, osaka, nagoya,
●解説
コントローラ側で配列を定義し、配列内の値を文字列連結で@valに足しこみ、
@valをビューで表示させている。
なお、コントローラ側で
@val = ""
を設定しておかないと、railsで
undefined method `<<' for nil:NilClass
というエラーが出るので注意。
東京ウェブ制作
2013-05-09
-
railsのフォームでテキスト入力欄を作る(モデル連携なし版)
●コントローラ(アクション)
# coding: utf-8
class TopController < ApplicationController
def index
@name = params[:name]
@mail = params[:mail]
@address = params[:address]
end
end
●ビュー(フォーム入力)
<%= form_tag({ :controller => 'top', :action => 'index' }, { :method => :get, :id => 'fm' }) do %>
<p>お名前 <%= text_field_tag :name, '', { :size => 25 } %></p>
<p>メールアドレス <%= text_field_tag :mail, '', { :size => 25 } %></p>
<p>ご住所 <%= text_field_tag :address, '', { :size => 25 } %></p>
<%= submit_tag ' 送信する ' %>
<% end %>
●ビュー(表示)
<p>あなたが入力した「お名前」 <%= @name %></p>
<p>あなたが入力した「メールアドレス」 <%= @mail %></p>
<p>あなたが入力した「ご住所」 <%= @address %></p>
●解説
フォームから入力されたテキスト情報を取得し、画面に表示する、と...
2013-05-08
-
railsでラジオボタンの初期値を変数で指定する方法
●コントローラ
# coding: utf-8
class TopController < ApplicationController
def index
@hoge = true
end
end
●ビュー
<%= form_tag({ :controller => 'top', :action => 'index' }, { :method => :get, :id => 'fm' }) do %>
<p>
リンゴ<%= radio_button 'page', 'fruit', 'りんご', {} %>
ミカン<%= radio_button 'page', 'fruit', 'みかん', {:checked => @hoge} %>
バナナ<%= radio_button 'page', 'fruit', 'ばなな', {} %>
ピーチ<%= radio_button 'page', 'fruit', 'ぴーち', {} %>
グレープ<%= radio_button 'page', 'fruit', 'ぐれーぷ', {} %>
</p>
<%= submit_tag ' 送信する ' %>
<% end %>
●解説
コントローラ側で @hoge = true を指定している。
これがビュー側で {:checked => @hoge} に設定される。つまり
{:checked => true} を指定したことになり、
デフォルトでみかんが選ばれたラジオボタンとなる。
東京ウェブ制作
2013-05-08
-
railsのラジオボタンで初期選択状態にしたい場合
{:checked => true} をつけると、初期選択状態になる。
東京<%= radio_button 'page', 'area', 'とうきょう', {} %>
大阪<%= radio_button 'page', 'area', 'おおさか', {:checked => true} %>
名古屋<%= radio_button 'page', 'area', 'なごや', {} %>
の場合、大阪がデフォルトで選択された状態となる。
東京ウェブ制作
2013-05-08
-
railsでラジオボタンを作る方法(モデル連携なし版)
●コントローラ(アクション)
class TopController < ApplicationController
def index
@erea = params[:page][:area]
@furu = params[:page][:fruit]
end
end
●ビュー(入力フォーム)
<%= form_tag({ :controller => 'top', :action => 'index' }, { :method => :get, :id => 'fm' }) do %>
<p>
東京<%= radio_button 'page', 'area', 'とうきょう', {} %>
大阪<%= radio_button 'page', 'area', 'おおさか', {} %>
名古屋<%= radio_button 'page', 'area', 'なごや', {} %>
</p>
<p>
リンゴ<%= radio_button 'page', 'fruit', 'りんご', {} %>
ミカン<%= radio_button 'page', 'fruit', 'みかん', {} %>
バナナ<%= radio_button 'page', 'fruit', 'ばなな', {} %>
ピーチ<%= radio_button 'page', 'fruit', 'ぴーち', {} %>
グレープ<%= radio_button 'page', 'fruit', 'ぐれーぷ', {} %>
</p>
<%= submit_tag ' 送信する ' %>
<% end %>
●ビュー(結果表示)
あなた...
2013-05-08
|
|
|