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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 4

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

Q&A

解決済

1回答

1452閲覧

createアクション内で2つのインスタンス変数を扱う方法

hiyashikyuri

総合スコア388

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 4

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

0グッド

0クリップ

投稿2016/09/17 01:11

以下のコードのようにcreateアクション内で2つのインスタンス変数を使えるようにしたいのですが、うまくいきません。

class DesignsController < ApplicationController def new @design = Design.new @content = Design.new end def create @design = Design.new(design_params) MailSenderDesign.inquiry(@design).deliver respond_to do |format| if @design.save format.html {render action: 'create'} else format.html {render action: 'new'} end end content = {} upload_file = content_params[:upload_file] if upload_file != nil content[:upload_file] = upload_file.read content = content_params[:upload_file_name] end @content = Design.new(content) respond_to do |format| if @content.save format.html { redirect_to :action => "new", notice: 'Upload success' } else @contents = Content.all format.html { render action: 'index' } end end end private def design_params params.require(:design).permit(:company, :name, :email, :url,:option1, :option2, :option3, :option4, :option5, :option6, :material, :processing, :analysis, :other) end def content_params params.require(:content).permit(:upload_file) end end コード

@designではdesignに関するパラメーターを取得し、
@contentにはファイルアップローダー機能を与えてあります。

どちらか一方だけでの実行ならうまくいくのですが、2つのインスタンス変数をcreateアクション内で定義するとこのようなエラーが出てしまいます。

ActionController::ParameterMissing at /designs param is missing or the value is empty: content コード

contentのキーに対してバリューが結びついていない、もしくは書き方自体に問題があると思うのですが、わかるかたがいましたらお願い致します。

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

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

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

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

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

guest

回答1

0

自己解決

ファイルアップローダを自力で作ろうとしましたが、carrierwaveに頼ったらすんなりできました!
お手数おかけしました!

投稿2016/09/18 16:11

編集2016/09/18 16:12
hiyashikyuri

総合スコア388

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問