Ruby on rails 接受1个参数的函数将吐回未定义的方法“grabTweets';对于PagesHelper:模块

Ruby on rails 接受1个参数的函数将吐回未定义的方法“grabTweets';对于PagesHelper:模块,ruby-on-rails,ruby,helpers,Ruby On Rails,Ruby,Helpers,我正在尝试编写一个非常简单的函数,将输入字段中输入的任何文本输入到搜索Twitter并返回一些值的函数中 在我的home.html.erb文件中,我有这段代码,但我不确定调用@tweetArray实例变量(该变量应该调用我的grabTweets函数)是否是正确的方法 <%= form_for(@tweetArray) do |f| %> <%= f.text_field :grabTweets %> <% end %> 我的页面只显示

我正在尝试编写一个非常简单的函数,将输入字段中输入的任何文本输入到搜索Twitter并返回一些值的函数中

在我的
home.html.erb
文件中,我有这段代码,但我不确定调用@tweetArray实例变量(该变量应该调用我的grabTweets函数)是否是正确的方法

    <%= form_for(@tweetArray) do |f| %>
    <%= f.text_field :grabTweets %>
    <% end %>
我的页面只显示此错误
未定义的方法为PagesHelper:Module
抓取tweets。我应该在我的
home.html.erb
文件中放入什么才能正确调用此代码

编辑:

home.html.erb

    <%= form_for(grabTweets) do |f| %>
    <%= f.text_field :search %>
    <% end %>
我仍然在
home.html.erb

中得到一个错误
未定义的局部变量或方法抓取tweets
假设您有一个@tweet对象:

<%= form_for(@tweet) do |f| %>
  <%= f.text_field :search %>
<% end %>
这将为您提供一个
@tweets
,其中包含一个tweet和URL的哈希数组。我还没有测试过这些,但我希望它能为你指明正确的方向

没有模型 要在没有模型的情况下执行此操作,可以使用
form\u tag

<%= form_tag '/tweets/find_tweets' do %>
  <%= text_field_tag "search" %>
<% end %>


您的控制器不会有太大变化,但您可能会使用
params[:search]
来访问搜索参数。

我很难理解您的目标。表单_接受某种类型的记录。你会给它一个:tweet或@tweet。因此,通常在呈现视图之前,您会在控制器中设置它,然后为f.text_字段指定该记录的属性。我正在尝试获取表单_,以便使用控制器中的代码执行twitter搜索(我将其从帮助器中取出,放回控制器中)。我在这里做错了什么?@ShaneO'Connor那么我会用属性作为1参数来搜索grabbeets吗?这有意义吗?谢谢Shane。它确实为我指明了正确的方向。我的主要困惑是如何设置搜索字段代码以与控制器中的方法正确交互。我知道您还没有测试代码,但我有一个问题:如何将搜索导入您编写的
find_tweets
方法?这会进入Twitter.search之后出现的mySearch变量吗?我的错。我更新了我的帖子。我用params[:tweet][:search]替换了mySearch。它可能类似于params[:tweet][:search],但无论如何,您都需要从params中提取它。谢谢。现在我们来讨论一下另外一个问题:你提到设置路线。目前,我在routes文件中所做的唯一一件事就是将“/”重定向到
页面#主页
。我需要在routes.rb文件中执行什么操作?您可能需要查看。路线可能对它们有相当大的影响。我对路线不是很在行,但在我的脑海里,你可以做一些类似的事情:map.tweets'/tweets/find_tweets',:controller=>'tweets',:action=>'find_tweets'。这可能不是最好的解决方案,但它会将所有流量指向/tweets/find_tweets,并将其指向find_tweets操作。
<%= form_for(@tweet) do |f| %>
  <%= f.text_field :search %>
<% end %>
def find_tweets
  @tweets = Twitter.search( params[:tweet][:search] + "[pic] "+" path.com/p/", :rpp => 2, :result_type => "recent").map do |status|
    tweet = "#{status.text}" #class = string
    urls = URI::extract(@tweet, "http") #returns an array of strings

    { 
      :tweet => tweet,
      :urls => urls
    }
  end

  @tweets
end
<%= form_tag '/tweets/find_tweets' do %>
  <%= text_field_tag "search" %>
<% end %>