プロジェクト

全般

プロフィール

ScaffoldPlusAnswerTwo » 履歴 » バージョン 8

Yuumi Yoshida, 2008-01-13 15:47

1 1 Yuumi Yoshida
= 演習2解答例 =
2
3 4 Yuumi Yoshida
== 作業手順 ==
4
{{{
5 5 Yuumi Yoshida
ruby script/generate migration AddMemoToTodo memo:text
6 4 Yuumi Yoshida
rake db:migrate
7
}}}
8
9 1 Yuumi Yoshida
== 変更点 ==
10
11 3 Yuumi Yoshida
=== 1. helpers/todos_helper.rb ===
12
改行を<br/>タグに変換する new_lineメッソドを追加
13
{{{
14 7 Yuumi Yoshida
#!html
15
<pre class="wiki">module TodosHelper
16
17
  <font color="red">def new_line(s)
18
    s.gsub(/\n/, "&lt;br&gt;")
19
  end</font>
20
21
end
22
</pre>
23 1 Yuumi Yoshida
}}}
24
25
=== 2. app/views/todos/show.html.erb ===
26
27 7 Yuumi Yoshida
memoカラム表示用のコードを追加
28 1 Yuumi Yoshida
{{{
29 7 Yuumi Yoshida
#!html
30
<pre class="wiki">&lt;p&gt;
31
  &lt;b&gt;Due:&lt;/b&gt;
32
  &lt;%25=h @todo.due %25&gt;
33
&lt;/p&gt;
34 1 Yuumi Yoshida
35 7 Yuumi Yoshida
&lt;p&gt;
36
  &lt;b&gt;Task:&lt;/b&gt;
37
  &lt;%25=h @todo.task %25&gt;
38
&lt;/p&gt;
39 1 Yuumi Yoshida
40 7 Yuumi Yoshida
<font color="red">&lt;p&gt;
41
  &lt;b&gt;Memo:&lt;/b&gt;&lt;br/&gt;
42
  &lt;%25=new_line(h(@todo.memo)) %25&gt;
43
&lt;/p&gt;</font>
44 1 Yuumi Yoshida
45 7 Yuumi Yoshida
&lt;%25= link_to 'Edit', edit_todo_path(@todo) %25&gt; |
46
&lt;%25= link_to 'Back', todos_path %25&gt;
47
</pre>
48 1 Yuumi Yoshida
}}}
49 2 Yuumi Yoshida
50 3 Yuumi Yoshida
=== 3. app/views/todos/edit.html.erb ===
51 2 Yuumi Yoshida
52 8 Yuumi Yoshida
memoカラム入力用のコードを追加
53 1 Yuumi Yoshida
{{{
54 8 Yuumi Yoshida
#!html
55
<pre class="wiki">&lt;h1&gt;Editing todo&lt;/h1&gt;
56 1 Yuumi Yoshida
57 8 Yuumi Yoshida
&lt;%25= error_messages_for :todo %25&gt;
58 2 Yuumi Yoshida
59 8 Yuumi Yoshida
&lt;%25 form_for(@todo) do |f| %25&gt;
60
  &lt;p&gt;
61
    &lt;b&gt;Due&lt;/b&gt;&lt;br /&gt;
62
    &lt;%25= f.date_select :due %25&gt;
63
  &lt;/p&gt;
64 1 Yuumi Yoshida
65 8 Yuumi Yoshida
  &lt;p&gt;
66
    &lt;b&gt;Task&lt;/b&gt;&lt;br /&gt;
67
    &lt;%25= f.text_field :task %25&gt;
68
  &lt;/p&gt;
69 2 Yuumi Yoshida
70 8 Yuumi Yoshida
  <font color="red">&lt;p&gt;
71
    &lt;b&gt;Memo&lt;/b&gt;&lt;br /&gt;
72
    &lt;%25= f.text_area :memo %25&gt;
73
  &lt;/p&gt;</font>
74 2 Yuumi Yoshida
75 8 Yuumi Yoshida
  &lt;p&gt;
76
    &lt;%25= f.submit "Update" %25&gt;
77
  &lt;/p&gt;
78
&lt;%25 end %25&gt;
79 2 Yuumi Yoshida
80 8 Yuumi Yoshida
&lt;%25= link_to 'Show', @todo %25&gt; |
81
&lt;%25= link_to 'Back', todos_path %25&gt;
82
</pre>
83 2 Yuumi Yoshida
}}}
84
85
=== 4. app/views/todos/new.html.erb ===
86
87 8 Yuumi Yoshida
memoカラム入力用のコードを追加
88 2 Yuumi Yoshida
{{{
89 8 Yuumi Yoshida
#!html
90
<pre class="wiki">&lt;h1&gt;New todo&lt;/h1&gt;
91 2 Yuumi Yoshida
92 8 Yuumi Yoshida
&lt;%25= error_messages_for :todo %25&gt;
93 2 Yuumi Yoshida
94 8 Yuumi Yoshida
&lt;%25 form_for(@todo) do |f| %25&gt;
95
  &lt;p&gt;
96
    &lt;b&gt;Due&lt;/b&gt;&lt;br /&gt;
97
    &lt;%25= f.date_select :due %25&gt;
98
  &lt;/p&gt;
99 2 Yuumi Yoshida
100 8 Yuumi Yoshida
  &lt;p&gt;
101
    &lt;b&gt;Task&lt;/b&gt;&lt;br /&gt;
102
    &lt;%25= f.text_field :task %25&gt;
103
  &lt;/p&gt;
104 2 Yuumi Yoshida
105 8 Yuumi Yoshida
  <font color="red">&lt;p&gt;
106
    &lt;b&gt;Memo&lt;/b&gt;&lt;br /&gt;
107
    &lt;%25= f.text_area :memo %25&gt;
108
  &lt;/p&gt;</font>
109 2 Yuumi Yoshida
110 8 Yuumi Yoshida
  &lt;p&gt;
111
    &lt;%25= f.submit "Create" %25&gt;
112
  &lt;/p&gt;
113
&lt;%25 end %25&gt;
114 2 Yuumi Yoshida
115 8 Yuumi Yoshida
&lt;%25= link_to 'Back', todos_path %25&gt;                                                                                          
116
</pre>
117 1 Yuumi Yoshida
}}}
118
119
120
== ソースコード  ==
121
122
 解答例のソースコードは http://www.ey-office.com/trac/rails/browser/tags/todo_q2で参照できます。