初学者问题在这里。我创建了一个Web scraper来为我的模型填充信息,我想用一个视图中的按钮调用这个方法。更重要的是,我想将表单的内容作为参数传递给此方法。我有点迷失在如何使用表格,但到目前为止,我有:
我将该方法放入app / helpers / admin_pages_helper.rb目录
module AdminPagesHelper
def populate(term)
.
.
end
end
然后我在app / views / admin_pages / index.html.erb
上有一个视图我不确定如何使用form_tag / text_field_tag / submit_tag来获取参数;我见过的大多数示例都涉及使用表单的数据库查询。感谢
答案 0 :(得分:1)
最简单的使用形式是这样的 - 首先你需要一个表格可以提交给的路线:
# in your routes.rb
match "/admin_pages/my_action" => "admin_pages#my_action", as: "my_admin_pages_action"
这会将请求路由到“/ admin_pages / my_action”到AdminPagesController中的“my_action”操作。它还为您提供了几种辅助方法,您可以使用这些方法在视图和/或控制器中构建此URL字符串。
# in your view
<%= form_tag my_admin_pages_action_path do |f| %>
<%= text_field_tag :term %>
<%= submit_tag "Submit" %>
<% end %>
提交此表单后,它将路由到AdminPagesController#my_action方法:
class AdminPagesController < ApplicationController
def my_action
term = params[:term] # this contains the contents of the text_field
something = populate(term) # call your helper method passing in the term
end
end