Я разбираю файл excel и передаю данные своему контроллеру, но мне кажется, что я не могу его просмотреть:
Параметры:
Parameters: {"data"=>{"consult_charges"=>[{"id"=>"17474", "item"=>"Consultation", "name"=>"Ramon", "price"=>"25.0"}, {"id"=>"17584", "item"=>"Consultation", "name"=>"Ramon", "price"=>"25.0"}, {"id"=>"17490", "item"=>"Consultation", "name"=>"Elizabeth", "price"=>"25.0"}, {"id"=>"17515", "item"=>"Consultation", "name"=>"Elizabeth", "price"=>"25.0"}, {"id"=>"17554", "item"=>"Consultation", "name"=>" Elizabeth", "price"=>"25.0"}, {"id"=>"17623", "item"=>"Consult - Referral Card", "name"=>"Elizabeth", "price"=>"0.0"}, {"id"=>"17486", "item"=>"Consultation", "name"=>"Racha", "price"=>"25.0"}
Контроллер:
@consult_charges = params["data"]["consult_charges"]
Вид:
<table class = "table awaken">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Item</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<% @consult_charges.each do |sale| %>
<td><%= sale["id"] %></td>
<td><%= sale["name"] %></td>
<td><%= sale["item"] %></td>
<td><%= sale["price"] %></td>
<% end -%>
</tbody>
</table>
В результате получается одна строка данных, как будто существует только один sale
. Когда я смотрю на значение @consult_charges
, это массив таких элементов:
<ActionController::Parameters {"id"=>"17584", "item"=>"Consultation", "name"=>"Ramon", "price"=>"25.0"} permitted: false>
Мне нужно что-то сделать для преобразования типа?
о боже ... это стыдно
вы пробовали to_a
конвертировать?
@JeremyThomas случается со всеми нами: D. Добавил как ответ.
Причина, по которой отображается только одна строка, заключается в том, что тег <tr>
отсутствует на каждой итерации. Измените свой вид на;
<table class = "table awaken">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Item</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<% @consult_charges.each do |sale| %>
<tr>
<td><%= sale["id"] %></td>
<td><%= sale["name"] %></td>
<td><%= sale["item"] %></td>
<td><%= sale["price"] %></td>
</tr>
<% end -%>
</tbody>
</table>
не забываете ли вы ставить
<tr>
на каждую итерацию?