2016-09-06 18 views
0

Flickr宝石を使ってFlickrで検索を実行しようとすると、未定義のメソッドエラーが発生します。Rails - nilの定義されていないメソッド `delete ':NilClass

私は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 

テキスト入力に追加します。

何か助けていただければ幸いです。

答えて

3

params[:text => "text"]これは、:text => textのエントリのためにparamsハッシュを探しています。これが実際にあなたがしたいことであることはほとんどありません。

あなたはおそらくしたいことはこれです:

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

(またはそれのような何か他のもの... search方法がどのように働くか...私はちょうど推測しているかわからないその一致した)

おそらくよりちょうどこのように:

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

ありがとうございました。このような小さな誤差。 – Darragh

+0

それはとてもそうです:) –

0

私もform_tag構文を書き換えることをお勧めします。

から:

form_tag controller: "photos", action: "search", class: "navbar-form navbar-left", method: "get" 

へ:

form_tag({controller: "photos", action: "search"}), class: "navbar-form navbar-left", method: "get" 

それはちょうど、フォームのURLに追加取得クラスとメソッドを防ぐために。参考までにhttp://guides.rubyonrails.org/form_helpers.html#multiple-hashes-in-form-helper-callsを参照してください。

関連する問題