Ruby on rails 配置搜索字段以将搜索值传递到函数时出现问题
我是RubyonRails的新手,表单最近给我带来了各种各样的麻烦,所以您在这里的帮助和支持将是非常有价值的 在我的Ruby on rails 配置搜索字段以将搜索值传递到函数时出现问题,ruby-on-rails,ruby,forms,input,Ruby On Rails,Ruby,Forms,Input,我是RubyonRails的新手,表单最近给我带来了各种各样的麻烦,所以您在这里的帮助和支持将是非常有价值的 在我的home.html.erb文件中,我有以下代码: <%= form_tag({:controller => "pages", :action => "search"}, :method => "get", :class => "grabTweets") do %> <%= text_field_tag(:tweets)%&g
home.html.erb
文件中,我有以下代码:
<%= form_tag({:controller => "pages", :action => "search"}, :method => "get", :class => "grabTweets") do %>
<%= text_field_tag(:tweets)%>
<% end %>
home.html.erb
中的my form代码正确呈现,但不与grabTweets函数通信。尽管我在谷歌上搜索和修补,但我似乎无法找到答案。home.html.erb中的代码将此添加到我的本地主机URL的末尾:/assets?utf8=✓&tweets=google
,因此搜索路径不正确
提前谢谢 您的url很好。对于搜索,您应该将参数作为GET参数传入(正如您当前所做的那样) 问题在于如何访问搜索参数。而不是像这样尝试读取函数中的参数:
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
读取参数散列:
def grabTweets
@tweet = Twitter.search(params[:tweets] + "[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
这是鲁比。请不要使用CASE变量。有两件事:首先,您需要确保您的url路由到写入控制器
match '/search', :to "pages#search"
我应该这样做
然后在页面控制器的搜索操作中,调用
grabTweets(params[:tweets])
并对结果做一些有趣的事情。显然,如果
grabTweets
不是控制器上的实例方法,那么您需要调整调用它的方式。您是否已将搜索操作的条目添加到routes.rb?您的搜索操作是什么样子的?@FrederickCheung除了root“/”topage#home
之外,我没有做任何事情来编辑我的routes.rb文件。你建议我在这里做什么?@FrederickCheung我该如何要求路由调用我的页面控制器中的特定函数?@ZackShapiro在这种情况下读取路由是错误的。搜索参数应作为参数传入,而不是在url内。
grabTweets(params[:tweets])