alform:alfile
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
alform:alfile [2019/03/03 18:27] – ↷ prog_cgi:alfile から alform:alfile へページを移動しました。 hirohito | alform:alfile [2019/03/12 00:57] (現在) – [フォーム自動生成する場合] hirohito | ||
---|---|---|---|
行 20: | 行 20: | ||
AlFile.new(" | AlFile.new(" | ||
- | == htmlタグ生成時の追加アトリビュート == | + | |
- | AlFile.new(" | + | ====== ファイルアップロードの特殊性 ====== |
- | + | ||
- | | + | ===== フォームタグの記述 ===== |
- | | + | |
+ | ファイルをアップロードするフォームは、enctype=" | ||
+ | |||
+ | <form name=" | ||
+ | |||
+ | ===== フォーム自動生成する場合 ===== | ||
+ | |||
+ | フォーム自動生成する場合は、以下のようにします。 | ||
+ | |||
+ | <code ruby> | ||
+ | @form = AlForm.new( | ||
+ | AlFile.new( " | ||
+ | ... | ||
+ | ) | ||
+ | @form.tag_attr = { :enctype=> | ||
+ | </ | ||
+ | |||
+ | テンプレート | ||
+ | |||
+ | |||
+ | <%= @form.make_tiny_form() %> | ||
+ | |||
+ | |||
+ | |||
+ | ===== アップロードされたファイルの利用 ===== | ||
+ | |||
+ | アップロードされたファイルは、テンポラリファイルとして保存され、バリデーション後に利用可能になります。 また、スクリプトの終了時に自動的に消去されます。 | ||
+ | |||
+ | | ||
+ | | ||
+ | @form[: | ||
+ | @form[: | ||
+ | |||
+ | |||
+ | ===== アップロードされたファイルをそのまま保存する ===== | ||
+ | |||
+ | アップロードされたファイルを加工などをせず、そのままファイルとして保存する場合に便利なように、以下の手順が用意してあります。 | ||
+ | |||
+ | | ||
+ | @form[: | ||
+ | |||
+ | 保存する場所をあらかじめ指定しておいてから使います。 | ||
+ | |||
+ | AlFile.dirname | ||
+ | @form.validate() | ||
+ | @form.widgets[: | ||
+ | |||
+ | ファイル名をランダムに付与しない(固定のファイル名)場合は、File.link を使います。 | ||
+ | |||
+ | AlFile.dirname | ||
+ | @form.validate() | ||
+ | File.link( @form.widgets[: | ||
alform/alfile.txt · 最終更新: 2019/03/12 00:57 by hirohito