-
railsでコントローラにフラグを持たせてビューで表示をフラグにて切り替える方法
2013-06-06 12:35●コントローラ
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の分岐をさせているからである。
-
railsで文字列の長さをビューで表示する方法
2013-06-04 12:18●コントローラ
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文字であることをブラウザに表示させている。
nago -
railsでGoogleにリンクする(ビューのみ)
2013-06-04 12:06●ビュー
<% googleUrl = 'http://www.google.co.jp' %>
<%= link_to('guguru',googleUrl) %>
●解説
ビューにて link_to と記載することで、リンクを設定できる。
リンク先のURLは、上記では googleUrl という変数に入れている。
ブラウザ上で guguru という文字をクリックすると、グーグルが表示される。 -
railsコマンドでコントローラとビューの大枠を自動作成する
2013-06-04 11:51DOS窓で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>
-
railsでビューに任意の文字を出力する方法
2013-06-04 11:43●コントローラ側
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
1 / 1