VoltRb でファイルの読み取りを行い、それらのファイルの内容をビューに埋め込もうとしています。私は当初、サーバー側でファイルを読み取り (クライアント側はファイルの読み取りをサポートしていないため)、それらのファイルの文字列をクライアントに渡すことを計画していましたが、クライアント上のファイルの空の文字列。
私の問題を示すコードを次に示します。
file.txt
file contents
main_controller.rb
if RUBY_ENGINE == 'ruby'
file = File.open("app/files_to_read/lib/file.txt", "r")
$file_text = file.read
file.close
puts $file_text # returns "file contents" on the server side
puts $file_text.class # returns "String" on the server side
end
module Main
class MainController < Volt::ModelController
model :page
def index
page._text = $file_text
puts $file_text # returns an empty string in the browser console
end
...
end
end
index.html
<:Title>
Home
<:Body>
<h1>Home</h1>
<p>{{ _text }}</p>
<!-- ^ an empty string -->
私のディレクトリツリーは次のようになります。
app
├── files_to_read
│ └── lib
│ └── file.txt
└── main
├── assets
├── config
├── controllers
│ └── main_controller.rb
├── lib
├── tasks
└── views
└── main
├── about.html
├── index.html
└── main.html
ファイルに空の文字列が表示されるのはなぜですか? これを修正するにはどうすればよいですか?