2011-09-12 32 views
0

我有這個問題它總是與提交的表單一樣。 在更新訂單提交按鈕上調用update_limits操作。哪個應該觸發動作update_order。Rails表單提交問題有兩種形式

這是我的觀點:

<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方法需要一個塊,你不給它一個。你應該做這樣的事情:

<%= 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