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

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

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

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

Q&A

1回答

2348閲覧

【Rails】モデル側でアクション名やコントローラー名を取得したい

gogoackman3

総合スコア109

Ruby on Rails 5

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

0グッド

0クリップ

投稿2018/05/22 05:30

編集2018/05/22 05:32

###やりたいこと

【前提1】ブログのようなサービスを運営中
【前提2】CarrierWaveを利用して画像をアップロードしています

①画像アップロード時に画像を圧縮したい

→これはイメージ出来ています。pietを利用予定

②ブログサービスには本番モードと編集に使う編集モードがあり、モード切替時には圧縮したくない

→ここの実装方法がよくわかりません。モードについてもう少し細かく説明すると、ArticleモデルとEditArticleモデルの2つがあります。これはすでに本番で公開している記事を修正する際にArticleモデルを直接編集するのではなく、一旦EditArticleモデルに複製し、そちらで編集、完了次第、Articleモデルを作り直すといった仕組みです。

ですから本番モード・編集モードそれぞれで画像を入稿する時は画質を落とす、そして、モード切替時(複製時)は圧縮しないといった仕様にしたいです。そうしないとモード切替するたびにドンドン画質が落ちていきますよね?

ただそうするとモード切替時のみUploader内での処理を切り替えるか、model側で使用するUploaderを切り替えるしかないと考えています。そのためにはどのコントローラーのどのアクションからの呼出しなのか識別しないとダメなのでは?というところまでが分かっているところです。(しかしながら調べてもモデルからアクション名がわかるような情報はなく・・・・)

わかる方がいればご教授頂けると幸いです。

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

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

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

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

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

guest

回答1

0

やろうとしてることが分からないけど
モデルからコントローラーを見ようとするのは明らかに間違い。
Article/EditArticleで分けてる意味も分からない。

本番モード・編集モードはコントローラーで分岐させればいいだけのこと。

投稿2018/05/22 06:31

kawax

総合スコア10377

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

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

gogoackman3

2018/05/22 07:25 編集

ArticleモデルにはTOP画像やタイトル、本文といういくつかのカラムがあります。 例えば、記事を公開中にタイトルと本文の両方を変えたい場合、急いでも少しの間、どちらかのみ変更した状態が発生しますよね?それを避けるために一旦編集用のモデルを作っていました。編集が完了したらその変更内容を本番用のモデルに一気に反映させるといった具合です。 そもそもそれが良くないでしょうか?その場合、編集中の内容が公開中の記事に影響がなく、また全ての項目が編集完了したタイミングで反映させる方法があるのでしょうか??質問ばかりですみません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問