質問編集履歴

4 修正

trafalbad

trafalbad score 202

2017/06/22 01:38  投稿

asset内の画像をcontrollerで呼び出すときのエラー
ruby on railsでmodelに画像情報を格納する方法
asset内に格納した複数の画像を順番に表示させる方法を探しています。  
[このサイト](http://qiita.com/yoshizaki_kkgk/items/2e40bd4f77140b0c97f8)ではmodelのTmpImageから、controllerのindexアクションで呼び出してるようです。
このmodelを作成し、インデックスアクションを実装したのですが下記エラーが出てしまいました。
解決策を教えていただけないしょうか?
環境
cloud9
[このサイト](http://qiita.com/yoshizaki_kkgk/items/2e40bd4f77140b0c97f8)のようにTmpImageというモデルを作成しました。
```
エラー
undefined method `id' for TmpImage(id: integer, created_at: datetime, updated_at: datetime):Class Did you mean? ids
# model
*** ラベル編集中の画像を一時的に保存 ***
TmpImage
 id: integer
 filename: string
 image_id: integer
 created_at: datetime
 updated_at: datetime
```
この中に画像情報を格納したいのですが、そうすればいいのでしょうか?  
画像はasset内にあります。  
よろしくお願いします。  
```
#tempimage.rb
class TmpImage < ActiveRecord::Base
   id:integer
 filename:string
 image_id:integer
 created_at:datetime
 updated_at:datetime
end
```
```
#labels_controller
#controller.rb
class LabelsController < ApplicationController
  # *** トップページ ***
  # *** トップページ ***
 def index
   tmp = TmpImage.first
   @image = tmp[:filename]
   @blocks = TextBlock.view_css(tmp[:image_id])
 end
end
```
```
  • Ruby

    9706 questions

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

  • Ruby on Rails 4

    2552 questions

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

3

trafalbad

trafalbad score 202

2017/06/21 17:08  投稿

asset内の画像をcontrollerで呼び出すときのエラー
asset内に格納した複数の画像を順番に表示させる方法を探しています。
[このサイト](http://qiita.com/yoshizaki_kkgk/items/2e40bd4f77140b0c97f8)ではmodelのTemImageから、controllerのindexアクションで呼び出してるようです。
[このサイト](http://qiita.com/yoshizaki_kkgk/items/2e40bd4f77140b0c97f8)ではmodelのTmpImageから、controllerのindexアクションで呼び出してるようです。
このmodelを作成し、インデックスアクションを実装したのですが下記エラーが出てしまいました。
解決策を教えていただけないしょうか?
環境
cloud9
```
エラー
undefined method `id' for TmpImage(id: integer, created_at: datetime, updated_at: datetime):Class Did you mean? ids
```
```
#tempimage.rb
class TmpImage < ActiveRecord::Base
   id:integer
 filename:string
 image_id:integer
 created_at:datetime
 updated_at:datetime
end
```
```
#labels_controller
class LabelsController < ApplicationController
   # *** トップページ ***
 def index
   tmp = TmpImage.first
   @image = tmp[:filename]
   @blocks = TextBlock.view_css(tmp[:image_id])
 end
end
```
  • Ruby

    9706 questions

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

  • Ruby on Rails 4

    2552 questions

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

2 修正

trafalbad

trafalbad score 202

2017/06/21 16:41  投稿

aseet内の画像をデータベース内のテーブルに格納する方法
asset内の画像をcontrollerで呼び出すときのエラー
asset内に格納した複数の画像を順番に表示させる方法を探しています。
[このサイト](http://qiita.com/yoshizaki_kkgk/items/2e40bd4f77140b0c97f8)ではTemImageテーブル内に画像を保存してから、controllerのindexアクションで呼び出してるようです。
[このサイト](http://qiita.com/yoshizaki_kkgk/items/2e40bd4f77140b0c97f8)ではmodelのTemImageから、controllerのindexアクションで呼び出してるようです。
assetに保存しただけでは指定のテーブルに画像が保存されないため、assetの複数の画像を指定のtable(TemImage)に保存する方法を教えていただけないでしょうか?
このmodelを作成し、インデックスアクションを実装したのですが下記エラーが出てしまいました。
解決策を教えていただけないしょうか?
環境
cloud9
 
SQlite内でのテーブル一覧  
```
rails db
sqlite> .schema
>>>
CREATE TABLE "schema_migrations" ("version" varchar NOT NULL);
CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version");
CREATE TABLE "titles" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL);
CREATE TABLE Image(id integer,filename string, is_complete boolean, is_none boolean, created_at datetime, update_at datetime);
CREATE TABLE TextBlock(id integer,image_id integer,text string, x1 integer, x2 integer, y1 integer, y2 integer, created_at datetime, update_at datetime);
CREATE TABLE TmpImage(id integer,filename string, image_id integer, created_at datetime, updated_at datetime);
エラー
undefined method `id' for TmpImage(id: integer, created_at: datetime, updated_at: datetime):Class Did you mean? ids
```
```
#tempimage.rb
class TmpImage < ActiveRecord::Base
   id:integer
 filename:string
 image_id:integer
 created_at:datetime
 updated_at:datetime
end
```
```
#labels_controller
class LabelsController < ApplicationController
   # *** トップページ ***
 def index
   tmp = TmpImage.first
   @image = tmp[:filename]
   @blocks = TextBlock.view_css(tmp[:image_id])
 end
end
```
  • Ruby

    9706 questions

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

  • Ruby on Rails 4

    2552 questions

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

1 追加

trafalbad

trafalbad score 202

2017/06/21 16:19  投稿

aseet内の画像をデータベース内のテーブルに格納する方法
asset内に格納した複数の画像を順番に表示させる方法を探しています。
[このサイト](http://qiita.com/yoshizaki_kkgk/items/2e40bd4f77140b0c97f8)ではTemImageテーブル内に画像を保存してから、controllerのindexアクションで呼び出してるようです。
assetに保存しただけでは指定のテーブルに画像が保存されないため、assetの複数の画像を指定のtable(TemImage)に保存する方法を教えていただけないでしょうか?
環境
cloud9
cloud9
SQlite内でのテーブル一覧
```
rails db
sqlite> .schema
>>>
CREATE TABLE "schema_migrations" ("version" varchar NOT NULL);
CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version");
CREATE TABLE "titles" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL);
CREATE TABLE Image(id integer,filename string, is_complete boolean, is_none boolean, created_at datetime, update_at datetime);
CREATE TABLE TextBlock(id integer,image_id integer,text string, x1 integer, x2 integer, y1 integer, y2 integer, created_at datetime, update_at datetime);
CREATE TABLE TmpImage(id integer,filename string, image_id integer, created_at datetime, updated_at datetime);
```
  • Ruby

    9706 questions

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

  • Ruby on Rails 4

    2552 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る