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

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

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

Opalとは、RubyをJavaScriptに変換できるaltJSの一つです。PureRubyであれば、ほとんどそのまま使えるRubyとの高い互換性があり、Rubyの書きやすさでJavaScriptを実現できます。

Ruby

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

Ruby on Rails

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1513閲覧

自作ファイルをrequire出来ない。(rails)

NightitWy

総合スコア11

Opal

Opalとは、RubyをJavaScriptに変換できるaltJSの一つです。PureRubyであれば、ほとんどそのまま使えるRubyとの高い互換性があり、Rubyの書きやすさでJavaScriptを実現できます。

Ruby

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

Ruby on Rails

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2019/09/05 14:52

編集2019/09/07 13:28

現在 rails で opal を利用し、プログラムを組んでいます。
ビュー内で <script type="ruby"> </script> で opal が書ける 「opal-parser」を使っているのですが、その中で自分で作った自作ファイルの読み込みをしたいので

> app/views/test/index.html.erb <script type="text/ruby"> require_relative 'list.rb' </script>

のようにし、

> app/views/test/list.rb %x{alert("ok!")} puts "hello!"

という、opalが書かれたファイルを読み込みたいのですが、

> webコンソール Uncaught          application-cdb06ee0…b0dba7d8217.js:3992 constructor {name: "LoadError", message: "cannot load such file -- list", stack: "LoadError: cannot load such file -- list↵ at Ob…8b2d30d820b5331c36a520698b0dba7d8217.js:70776:40)"} message: "cannot load such file -- list" name: "LoadError" stack: "LoadError: cannot load such file -- list↵ at Object.Opal.load (http://0.0.0.0:3000/assets/application-cdb06ee05ecd24a32a9062f61f738b2d30d820b5331c36a520698b0dba7d8217.js:3992:32)↵ at Function.Opal.require (http://0.0.0.0:3000/assets/application-cdb06ee05ecd24a32a9062f61f738b2d30d820b5331c36a520698b0dba7d8217.js:4012:17)↵ at eval (eval at <anonymous> (http://0.0.0.0:3000/assets/application-cdb06ee05ecd24a32a9062f61f738b2d30d820b5331c36a520698b0dba7d8217.js:70740:16), <anonymous>:7:8)↵ at eval (eval at <anonymous> (http://0.0.0.0:3000/assets/application-cdb06ee05ecd24a32a9062f61f738b2d30d820b5331c36a520698b0dba7d8217.js:70740:16), <anonymous>:9:3)↵ at http://0.0.0.0:3000/assets/application-cdb06ee05ecd24a32a9062f61f738b2d30d820b5331c36a520698b0dba7d8217.js:70740:16↵ at Function.$Kernel_eval$1 (http://0.0.0.0:3000/assets/application-cdb06ee05ecd24a32a9062f61f738b2d30d820b5331c36a520698b0dba7d8217.js:70741:9)↵ at run_ruby_scripts (http://0.0.0.0:3000/assets/application-cdb06ee05ecd24a32a9062f61f738b2d30d820b5331c36a520698b0dba7d8217.js:70776:40)" __proto__: constructor $$class: ƒ () constructor: ƒ () __proto__: Error

とエラーが出て、出来ません。

どのようにすればエラーが出ずopalファイル内で他のopalファイルを読み込むことが出来ますか?
どなたかご教授願います。

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

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

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

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

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

guest

回答1

0

ベストアンサー

サーバー側の処理とクライアント側の処理を混同しているように思います

opalで記述した処理はクライアント側になるので
list.rbはクライアント側からアクセスできる必要があります

投稿2019/09/08 01:30

asm

総合スコア15147

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

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

NightitWy

2019/09/08 09:44 編集

回答ありがとうございます。 すみません。 list.rb はどこのファイルに配置すれば 良いでしょうか?
asm

2019/09/08 10:10

サーバー上のファイルの位置は関係ありません。 ブラウザから見えるアドレスが問題になります。
NightitWy

2019/09/10 23:12

なるほど。 分かりました ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問