尝试使用Flickraw gem在Flickr上运行搜索时,我收到了未定义的方法错误。
我对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
我认为通过传递文本参数,它将返回与文本输入相关的公共照片列表。
感谢任何帮助。
答案 0 :(得分:3)
params[:text => "text"]
这会在params
哈希中查找包含密钥:text => text
的条目。这实际上是你想要做的极不可能。
你可能想要的是:
@results = flickr.photos.search(params[:text] => "text")
(或者其他类似的东西......它与search
方法的工作原理相匹配......我不知道我只是在猜测)
可能更像是这样:
@results = flickr.photos.search(params[:text])