2017.05 «  - - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 - » 2017.07
TOP > 掲示板を作ってみる・その10【スレッド用のビューファイルを作成】

 ← 掲示板を作ってみる・その11【レス用のビューファイルを作成】 | TOP | 掲示板を作ってみる・その9【レイアウトファイルとスタイルシートファイルを作成】

スポンサーサイト 

--年--月--日 (--)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


【広告】

[--.--.--(--) --:--] スポンサー広告 | Trackback(-) | Comment(-)
↑TOPへ

掲示板を作ってみる・その10【スレッド用のビューファイルを作成】 

2008年08月10日 ()

掲示板を作ってみる・その1【何を作るの?】
掲示板を作ってみる・その2【モデルを作る パート1】
掲示板を作ってみる・その3【モデルを作る パート2】
掲示板を作ってみる・その4【ルーティングを考える】
掲示板を作ってみる・その5【コントローラを生成】
掲示板を作ってみる・その6【ヘルパを作る】
掲示板を作ってみる・その7【スレッド用コントローラを編集】
掲示板を作ってみる・その8【レス用コントローラを編集】
掲示板を作ってみる・その9【レイアウトファイルとスタイルシートファイルを作成】
掲示板を作ってみる・その10【スレッド用のビューファイルを作成】
掲示板を作ってみる・その11【レス用のビューファイルを作成】
掲示板を作ってみる・その12【ruby-gettext で日本語化】




スレッド用に view ファイルを作ります。

でもでもその前に、エラーが起きたときに、Rails はエラーが起きたコントローラ(テキストボックスとか)の周りを親切にも div ダグで囲んでくれます。
しかし、div タグだと勝手に改行されてもうて画面レイアウトがおかしくなるので、div タグで囲んでもらう代わりに、span タグで囲んでもらうようにします。

config/environment.rb の一番最後の行に

ActionView::Base.field_error_proc = Proc.new do |html_tag, instance_tag|
  "<span class='fieldWithErrors'>#{html_tag}</span>"
end



を加えます。

では、スレッド用のビューファイルをざくざくと作成していきましょう。

app/views/topic/list.html.erb

<%= error_messages_for :topic, :post %>
<% if flash[:msg] %>
<%= h(flash[:msg]) %><br />
<% end %>

<table align="center" bgcolor="#ccffcc" border="1" cellpadding="3" cellspacing="7" width="95%"><tbody><tr><td><font size="2">
<%
  if @topics.size > 0
    cnt = 1
    @topics.each do |t|
%>
<%= link_to h("#{cnt}: #{t.title} (#{t.posts.count.to_s})"), {:controller => 'post', :action => 'list', :id => t.id} %>
<%
      cnt += 1
    end
  else
%>
まだスレッドを立てていません。
<%
  end
%>
</font></td></tr>

<tr><td>
<% form_for :topic, :url => {:action => 'create'} do |f| %>
  タイトル: <%= f.text_field :title, {:size => 40} %>
  <%= f.submit '新規スレッド作成' %><br />
  <% fields_for :post do |p| %>
    名前: <%= p.text_field :name, {:size => 19} %>
    E-mail: <%= p.text_field :email, {:size => 19} %><br>
    <span style="vertical-align:top;">内容:</span>
    <%= p.text_area :content, {:rows => 5, :cols => 60, :wrap => 'OFF'} %>
  <% end %>
<% end %>
</td></tr></tbody></table>



難しいところは・・・ link_to の最初の引数を HTMLエスケープしなくてはならないつーところだけかな?質問・意見があったらコメント欄へ書いてください。

おしまい。次回へ続く


【広告】

[2008.08.10(Sun) 11:24] 掲示板アプリTrackback(0) | Comments(0)
↑TOPへ

 ← 掲示板を作ってみる・その11【レス用のビューファイルを作成】 | TOP | 掲示板を作ってみる・その9【レイアウトファイルとスタイルシートファイルを作成】

COMMENT

COMMENT POST















管理者にだけ表示

 ← 掲示板を作ってみる・その11【レス用のビューファイルを作成】 | TOP | 掲示板を作ってみる・その9【レイアウトファイルとスタイルシートファイルを作成】
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。