scaffold なナニのデザイン
edit アクションに TAG の更新を盛り込もうとしている。
とりあえず、ざっくりな処理を整理してみると、
- edit アクション実行
- :action => 'edit', :id => テーブル.id で edit アクション実行
- find(params[:id]) な結果が edit.rhtml に渡される
- edit.rhtml
- コードの一部が以下。
<%= start_form_tag :action => 'update', :id => @event %> <%= render :partial => 'form' %> <%= submit_tag 'Edit' %> <%= end_form_tag %>
form が submit されたら update アクションが @event が :id に設定されて呼び出し
# って、:id => @event って微妙
-
- _form.rhtml で項目がナニ
- _form.rhtml
- 各項目のナニは以下のような感じ
<p><label for="event_name">Name</label><br/> <%= text_field 'event', 'name' %></p>
上記フィールドはコントローラ側からの参照は params[:event][:name] で参照
- update アクション
- find(params[:id]) して @event に戻りを設定している
- @event.update_attributes(params[:event]) で更新
む。とゆー事は tag をどうやって更新すれば良い??
edit アクション
- @tag に find(params[:id]).tag_names.join(' ') を渡す
- @event に Event.find(params[:id]) を渡す
edit.rhtml
TAG をどう盛り込むか。_form.rhtml ん中で render :partial する? 方法はどうあれ、@tag を表示できれば OK。ただし、tag なフィールドは
<p><label for="tags_name">Name</label><br/> <%= text_field 'tags', 'name' %></p>
みたいな感じ??
update アクション
で、@params[:tags] は違うメソドで更新、と。一応、update_attributes が成功したら tag なナニを更新、にした方が良いが、トランザクションとかにできればなお良い。
結果はどうか
今から試してみます。
どうだったか
動かぬ。