での表の値は、私はシンプルなシナトラアプリを作り、以下の「numbers.csv」ファイル持っている:タスクを印刷することである::シナトラ
Name,Title,Phone
Ally Smith,Manager,888-552-444
Rick Jones,Director,888-552-447
Hayley Bowman,Accountant,888-552-424
をerbファイル内の名前と電話番号。私は、オブジェクトとハッシュでの作業の私の恐怖を克服しようとしています今
<tr>
<th>Name</th>
<th>Number</th>
</tr>
<% @names.each do |row| %>
<tr>
<td> <%= row[0] %> </td>
<td> <%= row[2] %> </td>
<tr>
<% end %>
ので、私は午前:
get '/' do
# turns CSV into array with nested arrays
@names = CSV.read('names.csv')
# delete headers
@names.shift
erb :index
end
と各ループ:
私はもともと、ネストされた配列を持つこの問題を解決し
get '/' do
# turns CSV into object with key value pairs
@numbers = CSV.read('numbers.csv', headers:true)
erb :index
end
私はCSV :: Tableオブジェクトを使用する利点を知っていますi
は、キー名に続いて、行ごとにカウンタで
@names[i]["Name"]
@names[i]["Phone"]
:ヘッダi番目の私はそうのような値にアクセスできることを意味します。
私はerbファイルにwhileループを書き込もうとしました - 失敗します。また、私が理解しているforeachループはCSVメソッドであり、それに応じて自分のコードを変更しました - 失敗します。
行の繰り返しと特定のキーの呼び出しに問題があります。
私は正しいループを使用しているかわかりません。
アドバイスをいただければ幸いです。私は時間:(
ありがとうございました@JCorcuera。 – dho