Мы должны использовать form_tag
на вид для действия new
для checkouts
контроллер. Вот код, вид:Как использовать действие по умолчанию в form_tag для Rails 3.2?
<%= form_tag create_checkout_path, :method => :put do %>
<table class="table table-striped">
<tr>
<th></th>
<th><%= t('Stock#') %></th>
<th><%= t('Name') %></th>
<th><%= t('Item Spec') %></th>
<th><%= t('Stock Qty') %></th>
<th><%= t('Out Qty') %></th>
</tr>
<% @item_in_stock.each do |i| %>
<tr>
<td><%= check_box_tag 'ids[]', i.id %></td>
<td><%= i.name %></td>
<td><%= i.item_spec %></td>
<td><%= i.stock_qty %><%= i.unit %></td>
<td><%= text_field_tag 'out_qtys[]', '', placeholder: t('Enter checkout qty'), size: '10' %></td>
</tr>
<% end %>
Здесь в routes.rb:
resources :checkouts
Код вид выше возвращает ошибку о том, что нет create_checkout_path
определена. Мы знаем, как определить настраиваемое действие для form_tag. Но можем ли мы использовать маршруты по умолчанию RAILS в form_tag? Мы хотели бы использовать действие по умолчанию для Rails вместо определения нашего собственного. Большое спасибо.
Очень интересно и протестировать его. Какова реальная разница между постом и помещением для поведения броузеров? В doc для form_tag говорится: «Если« патч »,« положить »,« удалить »или использовать другой глагол, добавлен скрытый ввод с именем _method для имитации глагола над сообщением». – user938363
Следующий случай rspec кажется не таким изменением и возвращает false (обычно это настраиваемое действие new_checkout/new_checkout_result): get 'new', {: use_route =>: requisition_checkoutx,: item_id => @ qi.id} response.should be_success – user938363
Запустите 'rake routes' в терминале, чтобы увидеть все имена путей вместе с их типом, в этом случае' create' использует 'post'. И его путь «checkouts_path» – mohameddiaa27