2011-09-12 17 views
0

私はそれが常に提出されるのと同じフォームであるという問題があります。 更新オーダーの送信ボタンでupdate_limitsアクションが呼び出されます。これは、update_orderアクションを起動するはずです。ここで2つのフォームを持つフォームのサブミット問題

が私の見解です:

<h2>Movies</h2> 
<h3>List movies</h3> 
<%= form_tag(:action => 'update_limits' ,:id => params[:id]) %> 
<%= link_to 'create new movie', {:action => 'create',:id => params[:id]}, {:class => 'margin-left'} %> 
<div class="spacer">&nbsp;</div>  

Number of movies in reel: 
<span class="c1"> 
<% rr = 1..6 %> 
<%= select("limits", "reel_limit", rr) %> 
</span> 
Number of movies in archive: 
<span class="c1"> 
<% rr = 0..12 %> 
<%= select("limits", "archive_limit", rr) %> 
</span> 
<%= submit_tag %> 
<div class="spacer">&nbsp;</div>  
<%= form_tag(:controller => 'admin/photographers', :action => 'update_order' ,:id => params[:id]) %> 
<ul id='movielist'> 
<span class="header">name</span> 
<% 
n = 0 
while n < @items.length 
%> 
<li itemID='<%[email protected][n].id%>' <%= reel_color_class(n, @limits) %>> 
<% if @items[n]["image"] %> 
<%= image_tag("/photographer/image/#{@items[n].id}/#{@items[n]["image"]}", :size => "36x20") %> 
<% end %> 
<%[email protected][n].name.force_encoding("UTF-8") %> 
<span class='col2'> 
<%= link_to 'edit', {:action => "edit", :id => @items[n].id} %> 
<%= link_to("remove", {:action => "remove", :id => @items[n].id }, 
{:confirm => "Are your sure?"}) %> 
</span> 
</li> 
<% 
n = n + 1 
end 
%> 
</ul> 
<input type="hidden" name="neworder" id="neworder" value="" /> 
<input name="commit" type="submit" value="update order" onclick="neworder.value=(junkdrawer.inspectListOrderNew('movielist'))" /> 
<div class="spacer">&nbsp;</div> 
+0

お願いします*コードを正しくインデントしてください。それは絶対に混乱して読むことです。適切な字下げを使用すると、読みやすくなります。 –

答えて

1

form_tag方法は、ブロックを取り、あなたはそれを1つずつ与えていません。

<%= form_tag(:action => 'update_limits' ,:id => params[:id]) do %> 
# form goes here 
<% end %> 

あるいはさらに良い、これはform_forタグを使用して、実際のオブジェクトに作用している場合:あなたはこのような何かやるべき詳細については

<%= form_for(@object) do |f| %> 
# form_goes here 
<% end %> 

を、Getting Started guide for Railsをお読みください。

関連する問題