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を生成する

    前提 Rubyでdocxをいろいろ分析してみた 変数の仕様~正規表現 いろいろなパターンで試してみた 例えば、こんな文 [crayon-58af2ddfb5b6440059 …

Rails4でerbぽいテンプレートからdocxを作成〜docx_templater

By: Kanko* – CC BY 2.0 github.com/jawspeak/ruby-docx-templater 調子に乗って昔失敗したジェムをまた試してみた 目次1 準備2 …

docx生成アプリのサンプルを公開~simple_docx_generater

自作gemを使ったRailsアプリの作成例を公開しました!   サインインの情報はつぎのとおりです テンプレートの登録・編集権限のあるマネージャー manager1@example.com

no image

Rails3部分テンプレートとAjax化のまとめ

参考 guides.rubyonrails.org/layouts_and_rendering.html#using-partials また混乱したので公式を参考にして書き直しました 目次1 部分テン …

docxをhtmlに変換する~ydocx

  github.com/zdavatz/ydocx プレビューの見た目を少しよくしたくて良さげなパーサーを試してみた 準備