Rails - nil:NilClass 的未定义方法“删除”

Rails - undefined method `delete' for nil:NilClass

我尝试使用 Flickraw 运行 在 Flickr 上搜索 gem.

时出现未定义方法错误

我是 Rails 的新手,尝试过几种不同的方法,但似乎无法正常工作。

这是我的 application.html.erb,

<html>
<head>
 <title>Workspace</title>
 <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
 <%= javascript_include_tag 'application', 'data-turbolinks-track' => true%>
 <%= csrf_meta_tags %>
</head>
<body>
 <%= form_tag controller: "photos", action: "search", class: "navbar-form navbar-left", method: "get" do %>
 <div class="form-group">
   <%=text_field_tag :search, params[:text]%>
 </div>
 <%= submit_tag "Search", class: "btn btn-default" %>
 <% end %>

<%= yield %>
</body>
</html>

这是我的 PhotosController,

class PhotosController < ApplicationController

require "flickraw"

def index
    @list = flickr.photos.getRecent
end

def search
    @results = flickr.photos.search(params[:text => "text"])
end
end

我认为通过传递文本参数,它会 return 包含与文本输入相关的 public 张照片列表。

感谢任何帮助。

params[:text => "text"] 这是在 params 散列中查找具有键 :text => text 的条目。这实际上是您想要做的事情的可能性极小。

你可能想要的是:

@results = flickr.photos.search(params[:text] => "text")

(或其他类似的东西......与 search 方法的工作方式相匹配......我不知道我只是在猜测)

可能更像这样:

@results = flickr.photos.search(params[:text])