Comments 31
Из этого может полезный гем получиться.
p.s.
p.s.
1.times do |x|
— это, конечно, мощно :)Аналог конструкции while(false) { } в С, к сожелению, не придумал более изящного спосба далеть такие же ruby. Сама же конструкция весьма удобна, особенно когда нужно делать много проверок, на много удобнее чем писать множество вложенных if… else… end
С робокассой удобно работать, ничего сложного по сути
Никому больше этот код не показывайте. Это не руби, а пхп.
@order = Order.where(:id => params[:id]).first
Мои глаза…
а как надо?
Model.find(id)
Model.find(params[:id])
Этот вариант кинет эксепшн, если такой записи нет. А вариант с where вернет nil.
А чем вас эксепшн не устроил?
Хотя бы тем, что он там не к месту.
Или вы думаете, что внутри метода происходит что-то отличное от where.first ?
Или вы думаете, что внутри метода происходит что-то отличное от where.first ?
Или взять Active Merchant от Evil Martians.
Контроллер очень толстый, выносите лучше все расчеты в модель…
<form action="<%= @pay_desc['mrh_url'] %>" method="post">
<input type=hidden name=MrchLogin value="<%= @pay_desc['mrh_login'] %>">
<input type=hidden name=OutSum value="<%= @pay_desc['out_summ'] %>">
<input type=hidden name=InvId value="<%= @pay_desc['inv_id'] %>">
<input type=hidden name=Desc value="<%= @pay_desc['inv_desc'] %>">
<input type=hidden name=SignatureValue value="<%= @pay_desc['crc'] %>">
<input type=hidden name=Shp_item value="<%= @pay_desc['shp_item'] %>">
<input type=hidden name=IncCurrLabel value="<%= @pay_desc['in_curr'] %>">
<input type=hidden name=Culture value="<%= @pay_desc['culture'] %>">
<input type=submit value='Оплатить'>
</form>
Мои глаза… Рельсы же дают удобный путь для создания форм!
<%= form_tag @pay_desc['mrh_url'] do %>
<%= hidden_field_tag 'MrchLogin', @pay_desc['mrh_login'] %>
<!-- etc -->
<%= submit_tag 'Pay' %>
<% end %>
У формы конечно кривой htm,l но использовать абстракции везде где только можно тоже не правильный подход.
Надеюсь, мне не придётся после вас дорабатывать приложение.
Какая необходимость в использовании генератора в даном случае? Использовать валидатор тут не к чему, мультиязычного интерфейс тоже. Я бы ещё понял если сделать скажем так (на руби не пишу, пример что бы отразить идею):
Говно код останется говно кодом в независимости от такого сколько абстракций и хелперов в нем использовано. И нечего переходить на личности.
<%= form_tag @pay_desc['mrh_url'] do %>
<% @pay_form_fields.each do |key, value| %>
<%= hidden_field_tag key, value %>
<% end %>
<%= submit_tag 'Pay' %>
<% end %>
Говно код останется говно кодом в независимости от такого сколько абстракций и хелперов в нем использовано. И нечего переходить на личности.
Payment::get_hash
— это неправильный синтаксис, который по чистой случайности работает. Надо писать Payment.get_hash
Хочу предостеречь от использования робокассы — никогда не полагайтесь на неё как на единственный источник платежей. Очень частые сбои в работе и неполадки на сервере. У нас после подключения мерчанта webmoney 90% платежей проходит через него, но тут от проекта зависит конечно.
Sign up to leave a comment.
Пример интеграции Робокассы с Rails