2011-10-12 4 views
0

폴더에 저장된 이미지를 표시하는 레일스가있는 페이지를 만들고이를 클릭하면 관련 파일 이름으로 이미지 파일을 제출합니다. 웹 페이지에 이미지를 표시하는 동안 나는 전혀 작업을 제출할 수 없습니다. fileArray 모든 디렉토리에 이미지 파일 내 submitimage 행동의 목록입니다Ruby on Rails와 함께 클릭하면 이미지 파일 이름을 제출하십시오

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

현재 다음과 같이 정의된다 :

내 전류 소스 코드는 현재는 아무튼

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

리디렉션 함수를 호출하는 것처럼 보입니다. (이 코드는 변수를 폼에 전달하는 코드로 대체됩니다).

저는 새로운 레일입니다. 그래서 여기에 속임수가 빠져 나올 것으로 기대하지만, 이미지를 클릭했을 때 작업을 제출하는 방법을 아는 사람이 있습니까?

답변

0

image_submit_tag은 양식 없이는 쓸모가 없습니다. 가지고 계시다시피 버튼 일뿐입니다.

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

편집가 나는 것을 지적한다 :

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

그리고 당신의 경로에 :

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

그리고 컨트롤러에 당신은 그것에게 링크를 만드는 더 나을 것 이것은 풍부한 루트를 사용하여 더 잘 구축 될 것이지만, 나는 당신에게 맡길 것입니다. 당신은 그것에 대해 모두 here 읽을 수 있습니다.

+0

아, 그 말이 맞습니다. image_submit_tag에 관해서는 무언가가 있다고 생각했습니다. 지금은 유용한 경로를 살펴볼 것입니다. 도와 주셔서 감사합니다! –

관련 문제