所以基本上我有这个:
create_table "notifs", force: true do |t|
t.string "desc"
t.string "sender"
t.string "receiver"
t.datetime "created_at"
t.datetime "updated_at"
end
由脚手架方法自动生成,但现在我想要一个显示所有数据(默认工作)的 get 方法,以及更多 1 用于按发件人搜索,例如 notifs?sender=name 或其他
我已经尝试将 Index 方法更改为:
def index
if params[:sender].present?
@notifs = Notif.find_by_sender(params[:sender]);
else
@notifs = Notif.all
end
end
但结果是
undefined method `each' for #<Notif:0x38c6e98>
-------
app/views/notifs/index.html.erb:19:in `_app_views_notifs_index_html_erb__382580733_32546088'
我什至尝试创建一条新路线
get '/searchsender' => 'notifs#searchsender'
--------
# get /searchsender
# get /searchsender
def searchsender
@notifs = Notif.find_by_sender("asd") #"asd" hardcoded, just for testing
if !@notifs
render :json=>{:notif=>"not working"}
else
render action: 'show', status: :created, location: @notifs
end
end
但结果是
undefined method `desc' for nil:NilClass
-------
app/views/notifs/show.html.erb:5:in `_app_views_notifs_show_html_erb__30604837_29852568'
app/controllers/notifs_controller.rb:91:in `searchsender'
尽管我有 2 种不同的方法,但我更喜欢简单/最快的方法...谢谢 :)