我是初学者,并试图仅列出具有特定属性的数据库条目。在这种情况下,数字:字符串 = '40829'。但这对我没有用,这是我的控制器:
def index
@ebms = Ebm.find(params[:number => '40829'])
end
我是初学者,并试图仅列出具有特定属性的数据库条目。在这种情况下,数字:字符串 = '40829'。但这对我没有用,这是我的控制器:
def index
@ebms = Ebm.find(params[:number => '40829'])
end
你应该where
像这样使用
Ebm.where(number: '40829')
或者
Ebm.find_by_number('40829')
请阅读有关Active Record Query Interface的文档。
作为附加答案.. 如果您在整个应用程序中经常需要这个,您可以创建一个范围。这样做的好处是,如果您必须将您的特殊号码一次更改为另一个号码,您只需要更改一段代码,而不是整个应用程序。(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
你应该试试这个:
def index
@ebms = Ebm.where(number: '40829')
end
or
def index
@ebms = Ebm.find_by_number('40829')
end