【发布时间】:2012-06-03 21:34:51
【问题描述】:
我是 Ruby on Rails 的新手,最近表单给我带来了各种各样的麻烦,所以您在这里的帮助和支持将非常有价值。
在我的home.html.erb 文件中,我有这个代码:
<%= form_tag({:controller => "pages", :action => "search"}, :method => "get", :class => "grabTweets") do %>
<%= text_field_tag(:tweets)%>
<% end %>
我正在尝试获取用户在该搜索字段中输入的值并将其传递给一个名为 grabTweets 的函数,该函数包含以下代码:
def grabTweets(mySearch)
@tweet = Twitter.search(mySearch + "[pic] "+" instagr.am/i/", :rpp => 2, :result_type => "recent").map do |status|
@tweet = "#{status.text}" #class = string
urls = URI::extract(@tweet, "http") #returns an array of strings
end
end
home.html.erb 中的我的表单代码正确呈现,但不与 grabTweets 函数通信。像我一样在谷歌上搜索和修补,我似乎无法找出答案。 home.html.erb 中的代码将此添加到我的本地主机 URL 的末尾:/assets?utf8=✓&tweets=google,因此搜索路由不正确。
提前致谢!
【问题讨论】:
-
您是否为您的搜索操作添加了一个条目到 routes.rb ?您的搜索操作是什么样的?
-
@FrederickCheung 除了 root "/" 到
pages#home之外,我没有做任何事情来编辑我的 routes.rb 文件。你会建议我在这里做什么? -
@FrederickCheung 如何让路由在我的页面控制器中调用特定函数?
-
@ZackShapiro 阅读了guides.rubyonrails.org/routing.html
-
在这种情况下路由是错误的。搜索参数应该作为参数传入,而不是在 url 中。
标签: ruby-on-rails ruby forms input