Pull to refresh

Comments 31

Из этого может полезный гем получиться.

p.s. 1.times do |x| — это, конечно, мощно :)
Аналог конструкции while(false) { } в С, к сожелению, не придумал более изящного спосба далеть такие же ruby. Сама же конструкция весьма удобна, особенно когда нужно делать много проверок, на много удобнее чем писать множество вложенных if… else… end
не подойдет, разве что только так:
until false # or while true
break if ...
break if ...
result = 'ok'
break
end
break не работает в begin...end
а как же loop do… end?
о, оказывается такая штука работает
begin
break if…
break if…
result =…
end while false
С робокассой удобно работать, ничего сложного по сути
Никому больше этот код не показывайте. Это не руби, а пхп.
@order = Order.where(:id => params[:id]).first

Мои глаза…

Этот вариант кинет эксепшн, если такой записи нет. А вариант с where вернет nil.
А чем вас эксепшн не устроил?
Почему ж не к месту? Или вы считаете что отработать эксепшн хуже чем выполнять что-то вроде (как у автора)

break if @order.blank?
Это достойный альтернативный вариант. Он не лучше и не хуже.

Но зачем тогда тыкать носом, если автор выбрал другой вариант, который не хуже?
Контроллер очень толстый, выносите лучше все расчеты в модель…
Расчеты — в модель, а заполнение в Presenter.
<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
Да и get_ тоже лишнее. Можно было бы to_hash
Хочу предостеречь от использования робокассы — никогда не полагайтесь на неё как на единственный источник платежей. Очень частые сбои в работе и неполадки на сервере. У нас после подключения мерчанта webmoney 90% платежей проходит через него, но тут от проекта зависит конечно.
Sign up to leave a comment.

Articles