使用Ruby on Rails单击时提交图像文件名

时间:2011-10-12 10:59:55

标签: ruby-on-rails image forms

我正在尝试使用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

目前它似乎没有调用重定向函数(我将用代码替换以将变量传递给表单)。

我对rails很新,所以我希望我在这里错过了一个技巧,但有人知道点击图像时提交动作的方法吗?

1 个答案:

答案 0 :(得分: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