Railsの初心者で、特定の属性を持つデータベースエントリのみをリストしようとしました。この場合、number:string = '40829' です。しかし、それはうまくいきませんでした。これが私のコントローラーです:
def index
@ebms = Ebm.find(params[:number => '40829'])
end
Railsの初心者で、特定の属性を持つデータベースエントリのみをリストしようとしました。この場合、number:string = '40829' です。しかし、それはうまくいきませんでした。これが私のコントローラーです:
def index
@ebms = Ebm.find(params[:number => '40829'])
end
あなたはwhere
そのように使用する必要があります
Ebm.where(number: '40829')
また
Ebm.find_by_number('40829')
Active Record Query Interfaceに関するドキュメントをお読みください。
追加の回答として..アプリケーション全体でこれが頻繁に必要な場合は、スコープを作成できます。これには、特別な番号を一度別の番号に変更する必要がある場合に、アプリケーション全体ではなく、1 つのコードを変更するだけでよいという利点があります。(Rails4 構文)
# your model app/models/ebm.rb
class Ebm < ActiveRecord::Base
scope :my_scope_name, -> { where(:number => "40829") }
end
# usage in controller
def index
@ebms = Ebm.my_scope_name
end
スコープの詳細: http://guides.rubyonrails.org/active_record_querying.html#scopes