質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

2回答

1371閲覧

formの入力値と同じ文字列のフォルダ作成

M_Katsube

総合スコア14

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

1グッド

1クリップ

投稿2016/01/17 12:06

現在Ruby on railsを勉強中です。分からないことがありアドバイスいただければと思い投稿してみます。

scaffoldを使用し

ruby

1rails g scaffold post field:string

として投稿可能なpostを作りました。ユーザーがpostに投稿する際にfieldに入力された文字列と同じ名前のフォルダを作りたいと思っています。

このような事をしたい場合はどのようにしたら良いでしょうか?何かアドバイスや参考になるサイトなどありましたら教えてください。

よろしくお願い致します。

dddd_gond👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/01/17 13:05

こちらの質問が他のユーザから「質問の範囲が広すぎる」という評価を受けています わからない点を明確にし、調査したこと・試したことと共に記入していただくと、回答が得られやすくなります。
jinco

2016/01/18 12:37

「フォルダを作成したい」というのはサーバー上にフォルダ(ディレクトリ)を作りたいということですか?それともアプリケーションで使われる記事をまとめておくようなフォルダということでしょうか?
M_Katsube

2016/01/18 13:05

情報の追加・修正依頼ありがとうございます。 サーバー上にfieldに入力された同じ名前のフォルダを作りたいと思っています。postで投稿された数だけフォルダが出来るようにしたいと思っています。 わかりづらくて申し訳ありません。修正しておきます。
guest

回答2

0

ベストアンサー

Postにnameというプロパティがあるとします。

下記のようにするとPostの保存と同時にnameの値と同じ名前のフォルダを作成します。
例えばnameに「test」とある場合は「app/public/posts/test」というフォルダができます。

ruby

1class Post < ActiveRecord::Base 2 after_save :create_folder 3 4 private 5 def create_folder 6 logger.info("create foler @ #{Rails.public_path}/posts/#{self.name}") 7 dir = "#{Rails.public_path}/posts/#{self.name}" 8 Dir.mkdir(dir) unless File.exists?(dir) 9 end 10end

セキュリティを考えるとnameに使う変数は安全な状態にしておく必要があると思います。あまり詳しくないのに回答してしまいましたが、他にもフォルダの権限等、外部に公開するのでしたらいろいろと気を配ることがありそうです。

投稿2016/01/18 13:30

jinco

総合スコア432

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

M_Katsube

2016/01/18 14:15

無事できました。ありがとうございます! とても勉強になりました。本当にありがとうございました。
guest

0

無事できました。ありがとうございます!

とても勉強になりました。本当にありがとうございました。

投稿2016/02/12 09:11

M_Katsube

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問