2011-10-12 57 views
0

我試圖用Rails創建一個頁面,它顯示存儲在一個文件夾中的圖像,當點擊一個圖像時,它將圖像文件名提交給相關表單。雖然我已經設法在網頁上顯示圖像,但我根本無法提交工作。當用Ruby on Rails點擊時提交圖像的文件名

我當前的源代碼是:

<% @fileArray.each do |x| %> 
    <%= image_submit_tag(x, {:id => x, :action => "submitimage"}) %> 
<% end %> 

凡fileArray在目錄中的所有圖像文件和我的submitimage行動的清單目前被定​​義爲:

def submitimage 
    redirect_to :controller => 'home', :action => "index" 
end 

目前它不似乎沒有調用重定向函數(我將用代碼替換以將希望的變量傳遞給表單)。

我對軌相當新,所以我期望我在這裏錯過了一個技巧,但沒有人知道點擊圖像時提交動作的方法嗎?

回答

0

image_submit_tag沒有形式沒用。就像你擁有它,它只是一個按鈕。你會更好做一個鏈接:

<%= link_to image_tag(x), submit_image_path(:filename => x) %> 

而在你的路線:

match 'images/:filename/submit' => 'images#submit', :as => :submit_image 

而在你的控制器:

def submit 
    @image = Image.create(:filename => params[:filename]) # or whatever 
end 

編輯我應該指出的是,這將更好地使用足智多謀的路線來構建,但我會留給你。你可以閱讀所有關於它here

+0

啊,這是有道理的,我認爲有一些關於image_submit_tag iffy。我現在也看看足智多謀的路線。謝謝您的幫助! –