Im rails beginner并尝试仅列出具有特定属性的数据库条目。 在这种情况下,数字:string ='40829'。 但它对我没有用,这是我的控制器:
def index
@ebms = Ebm.find(params[:number => '40829'])
end
答案 0 :(得分:3)
您应该使用where
,就像这样
Ebm.where(number: '40829')
或
Ebm.find_by_number('40829')
的文档
答案 1 :(得分: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
答案 2 :(得分:0)
你应该试试这个:
def index
@ebms = Ebm.where(number: '40829')
end
or
def index
@ebms = Ebm.find_by_number('40829')
end