0

мое приложение отлично работает в локальном хосте, но когда я развернуть на Heroku и попытаться создать новый заказ я получаю эту ошибку:Ошибка приложения на развертывания Heroku

2013-03-20T21:26:02+00:00 app[web.1]: Started GET "/orders/new" for 189.44.29.3 at 2013-03-20 21:26:02 +0000 
2013-03-20T21:26:02+00:00 app[web.1]: Processing by OrdersController#new as HTML 
2013-03-20T21:26:02+00:00 app[web.1]: Rendered orders/new.html.erb within layouts/application (49.4ms) 
2013-03-20T21:26:02+00:00 app[web.1]: Completed 500 Internal Server Error in 62ms 
2013-03-20T21:26:02+00:00 app[web.1]: 
2013-03-20T21:26:02+00:00 app[web.1]: ActionView::Template::Error (/app/app/views/orders/new.html.erb:31: unknown regexp options - tabl 
2013-03-20T21:26:02+00:00 app[web.1]: /app/app/views/orders/new.html.erb:33: unterminated string meets end of file 
2013-03-20T21:26:02+00:00 app[web.1]: /app/app/views/orders/new.html.erb:33: syntax error, unexpected $end, expecting keyword_end): 
2013-03-20T21:26:02+00:00 app[web.1]:  28:  <td><%= order.select :drop,options_for_select({"Nao",false,"Sim",true}) %></td> 
2013-03-20T21:26:02+00:00 app[web.1]:  29: </tr> 
2013-03-20T21:26:02+00:00 app[web.1]:  30: </tbody> 
2013-03-20T21:26:02+00:00 app[web.1]:  31: </table> 
2013-03-20T21:26:02+00:00 app[web.1]:  32: <%= order.submit "Criar nova Compra !"%> 
2013-03-20T21:26:02+00:00 app[web.1]:  33: <% end %> 
2013-03-20T21:26:02+00:00 app[web.1]: app/controllers/orders_controller.rb:16:in `new' 

на мой взгляд, этот код:

<%= form_for @order do |order| %> 
<table> 
    <tbody> 
    <tr> 
     <td>Fornecedor</td> 
     <td>Produto</td> 
     <td>Quantidade</td> 
     <td>Nr Compra</td> 
     <td>Pagamento</td> 
     <td>Valor</td> 
     <td>Endereço</td> 
     <td>Dropship</td> 
    </tr> 
    <tr> 
     <td><%= order.select :seller,Place.all.map { |a| [a.place,a.place] }%></td> 
     <td><%= order.select :product_id,Product.all.map { |a| [a.name,a.id] } %></td> 
     <td><%= order.text_field :quantity,:size => 4 %></td> 
     <td><%= order.text_field :order_number,:size => 2%></td> 
     <td><%= order.select :payment,Place.all.map { |a| [a.place,a.place] }%></td> 
     <td><%= order.text_field :value,:size => 5 %></td> 
     <td><%= order.select :adress_id,Adress.all.map { |a| [a.name,a.id] }%></td> 
     <td><%= order.select :drop,options_for_select({"Nao",false,"Sim",true}) %></td> 
    </tr> 
    </tbody> 
</table> 
    <%= order.submit "Criar nova Compra !"%> 
<% end %> 

если кто-то может помочь мне ничуть это я спасибо, это ERRO происходит, когда я пытаюсь создать новый заказ, спасибо

я попробовать ничуть options_for_select и whitout, все случаи я получаю эту ошибку в геройку!

+0

Строка 28 на вашем стеке отличается от кода вашего вида. Развернули ли вы свое приложение с этим изменением? –

+0

Правильно, я много раз меняю, чтобы попробовать работать, но ошибка не сохраняется, теперь это правильно. Этот код работает в localhost. – overallduka

ответ

1

У вас есть синтаксическая ошибка в вашем представлении. Мое предположение, что для вашего случая, является то, что следующая строка

<td><%= order.select :drop,options_for_select({"Nao",false,"Sim",true}) %></td> 
</tr> 

можно переписать в виде:

<td><%= order.select :drop,options_for_select({"Nao" => false, "Sim" => true}) %></td> 
</tr> 

Выражение {"Nao",false,"Sim",true} не имеет никакого значения по умолчанию, в синтаксисе Ruby.

Изменение на это {"Nao" => false,"Sim" => true} будет производить хэш.

Изменение на этот ["Nao",false,"Sim",true] будет производить массив.

В соответствии с документами метод rails options_for_select примет либо хэш, либо массив (или любой перечислимый тип).

+0

Спасибо за это, большое спасибо. – overallduka

Смежные вопросы