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

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

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

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

368閲覧

RailsでDBに登録する方法

oooka

総合スコア19

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1グッド

0クリップ

投稿2018/09/28 12:44

データをDBに登録する時、viewに登録ファームがあり、それを受け取ってDBに登録する方法はわかるのですが、コントローラー内で生成された値をDBに登録する方法がわかりません。
どなたかわかる方私に教えてください。よろしくお願いいたします。

sansansandodo👍を押しています

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

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

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

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

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

guest

回答2

0

... viewに登録ファームがあり、それを受け取ってDBに登録 ...

多分 params から 値を得て それをもとに new / save したり、create しているとおもいます。例えばこんなふうに。

def crea te @friend = Friend.new(params[:friend]) ... @friend.save ...

new や create するときのパラメタは web form からきた params[] でなくてもなんでもよいです。
comtroller 中で独自に作った変数をつかって new, create すればよいだけです。

投稿2018/09/30 08:41

編集2018/10/01 14:17
katoy

総合スコア22324

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

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

oooka

2018/10/01 12:25

ご回答ありがとうございます。参考にさせていただきます。
guest

0

ベストアンサー

ごめんなさい、質問の意図があまり把握できていないので、意図に添えているかわかりません。

ruby

1 2def create_data 3@title = "bar" #コントローラーで生成した適当な情報 4@hoge = Hoge.create(title: @title) #適当なモデルのtitleカラムに上で作った情報を入れてインスタンスを生成し、DBに保存。適当なインスタンス変数@hogeに格納 5 6end

投稿2018/09/28 18:35

sansansandodo

総合スコア248

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

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

oooka

2018/09/29 02:27

ご回答ありがとうございます。わかりにくい質問をしてしまい申し訳ございません。 例えば、 def create_data @title = "bar" end の@titleをDBに登録する方法はありますか?という質問でした。
sansansandodo

2018/09/29 03:07

テーブルが無ければ保存場所がないので不可能かと思います。 機能としてはどのようなものを想定しておいででしょうか
oooka

2018/09/29 05:22

controller内でURLを取得して、その値を保存しておく機能を実装したいです。その後、他のアクションにおいて保存しておいた値を使いたいです。
sansansandodo

2018/09/29 07:28

インスタンス変数に入れておくとか、セッションに保存するとかで実現できると思いますが、 def hoge @string = "URL" end def fuga hoge #処理 redirect_to @string #例えば、hogeで格納したURLにリダイレクトとかみたいに使える end 一度レスポンスしてから次のリクエストの時に参照するなら def hoge @string = "URL" end def fuga hoge session[:url] = @string #セッションに一時的にurlを格納 end def index redirect_to session[:url] unless session[url].nil? #セッションにURLがあったらそこにリダイレクト end 単純にURLをDBに入れたいだけなら、rails g model Urlstore link:stringとか適当に作っておいて、 def hoge Urlstore.create(link: "URL") end みたいに作成、保存すればいいのではないでしょうか?
oooka

2018/09/30 08:07

丁寧な回答ありがとうございます。参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問