RubyOnRails RubyOnRailsで帳票印刷

Rails3.2で関連するモデルのフォームをあわせて表示~accepts_nested_attributes_for & fields_for

投稿日:

Railsで関連するモデルのフォームを表示するメモ

またハマったので手順をメモ

Model

has_manyとか関連性を書く
accepts_nested_attributes_forを指定する
関連するモデルのattributesもattr_accessibleに書く

 

has_manyのオプションとして、そのモデルのデータを削除したとき、関連するデータも一緒に削除するかを選べる

accepts_nested_attributes_forのオプションとして、関連するデータを削除できるかを選ぶことができる

このオプションをtrueにすると、params[:_destroy]にtrueをいれることで関連するデータを削除できる

railscasts.com/episodes/196-nested-model-form-revised?view=asciicast

 

 

View

 fields_forを使う

対象は直接指定してもいいし(編集のようにすでにある場合)、:valuesのようなシンボルでも可 <=シンボルでないと新規作成のときうまく保存できなかった.普通はparamsに:values_attributesという名前で格納されるんだけど、上のときはparams[:values]で格納されてきた.ここを修正しようとしたけどやり方が分からなかった

*<% ではなく <%=を使う!これに気づかずにフォームが表示されなくてハマった.

Controllerでもどこでも

今回はModelでTemplateがもっているKeyから自動でValueを作成するので、model内のメソッドで定義した

メソッドチェインでうまくいった.

 

Can’t access mass asign…というエラーが出て悩んだんだけど、上のcreateのときのattributesの書き方が悪かったというオチ

-RubyOnRails, RubyOnRailsで帳票印刷
-,

執筆者:

関連記事

no image

RubyでDocxを分解してみた~Nokogiri::XML::SAX

    参照 Rubyでdocxをいろいろ分析してみた 今度はsaxのアプローチでdocxのword/document.xmlを分解してみた 使い方は、Nokogiri::XML: …

状況に応じてRailsのフォームの種類を変える

By: Heidi De Vries – CC BY 2.0 目次1 前提2 仕様の決定3 正規表現の変更4 メタプログラミング第一歩5 helper6 view7 できた8 できてない9 …

Rails3.2でdocxを作成

目次1 途中経過2 次にrubyのスクリプトから同じことをしてみる3 Railsから試してみる4 うまくいきました 途中経過 github.com/jawspeak/ruby-docx-templat

Ruby1.9.3 + Rails3.2.8のアプリをHerokuにアップしたよ

    KEN_ALL.CSVを使ったアプリをherokuにアップしてみたよ データベースの容量オーバーで結局削除したよorz   東京・神奈川・埼玉のデータに限定してア …

no image

railsでdocxを生成する動画

  知り合いに試しに使ってもらうのに動画を作成しました