2013-10-18 53 views
0

Rails 4,ruby 2.0。 我想製作一個公共文件服務頁面,其中包含每個文件的下載鏈接,並且可以通過複選框和「下載選中的文件」按鈕來檢查多個文件的下載。rails 4意見窗體語法錯誤

我在index.html.erb

<% form_tag(controller: "files", action: "download_many", method: "get")%> 
<h1>St.Catherines</h1> 
    <ul> 
<% @stcatherines.each do |file|%> 
    <li><%= link_to file, :action => "download", :name =>file %></li> 
    <%check_box_tag(file)%> 
<%end%> 
    <%submit_tag :value => "Download checked files" %> 
    </ul> 
<%end%> 

哪裏@stcatherines是一個字符串數組碼 下載鏈接的作品,用什麼形式一定是錯誤的。 我堅持一個奇怪的錯誤:

.../app/views/files/index.html.erb:11: 
    syntax error, unexpected keyword_ensure, expecting end-of-input 

注意語法錯誤在第11行提出和我只有10行代碼。

+1

您提交的標籤必須<%= submit_tag:價值=> 「下載選中的文件」%>。你也chek_box_tag必須是check_box_tag – Raghu

+0

@Raghu:謝謝你發現錯字。我按照你的建議編輯了我的代碼,但仍然發現了完全相同的錯誤。事後編輯這個問題。 – ksu

回答

1

我認爲你錯過了打開form_tag並添加了結尾,導致語法錯誤。添加的form_tag聲明do後應該修復它...試着改變你的代碼如下(注意,1號線加do):

<% form_tag(controller: "files", action: "download_many", method: "get") do %> 
<h1>St.Catherines</h1> 
    <ul> 
<% @stcatherines.each do |file|%> 
    <li><%= link_to file, :action => "download", :name =>file %></li> 
    <% check_box_tag(file) %> 
<% end # each %> 
    <%submit_tag :value => "Download checked files" %> 
    </ul> 
<% end # form_tag %> 
+0

非常感謝!這工作。我複製了[http://guides.rubyonrails.org/form_helpers.html]中的內容,但沒有得到正確的結論,這些代碼片段只是表格的一部分:)(我的英文和編程能力仍然很差;) – ksu

+0

不客氣!祝你好運! – josh