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 なナニを更新、にした方が良いが、トランザクションとかにできればなお良い。

結果はどうか

今から試してみます。

どうだったか

動かぬ。