Ruby on rails 范围条件未在视图中呈现
我在Messages模型上创建了一个作用域,以便它只列出会话id为NULL的消息。但是,添加后,它没有对收件箱进行任何更改,因为它仍然显示带有对话id的邮件 有人能指出我做错了什么吗Ruby on rails 范围条件未在视图中呈现,ruby-on-rails,Ruby On Rails,我在Messages模型上创建了一个作用域,以便它只列出会话id为NULL的消息。但是,添加后,它没有对收件箱进行任何更改,因为它仍然显示带有对话id的邮件 有人能指出我做错了什么吗 class Message < ActiveRecord::Base scope :inbox, -> {where('conversation_id IS NULL')} scope :unread, -> {where('read_at IS NULL')} class消息{wher
class Message < ActiveRecord::Base
scope :inbox, -> {where('conversation_id IS NULL')}
scope :unread, -> {where('read_at IS NULL')}
class消息{where('conversation\u id为NULL')}
作用域:未读,->{where('read_at为NULL')}
控制器
class MessagesController < ApplicationController
before_filter :set_user
def index
@messages = Message.scoped
@message = Message.new
if params[:mailbox] == "sent"
@messages = @user.sent_messages.paginate :per_page => 10, :page => params[:page], :order => "created_at DESC"
elsif params[:mailbox] == "inbox"
@messages = @user.received_messages.paginate :per_page => 10, :page => params[:page], :order => "created_at DESC"
#elsif params[:mailbox] == "archived"
# @messages = @user.archived_messages
end
if params[:mailbox] == "unread"
@messages = @user.unread_messages.paginate :per_page => 10, :page => params[:page], :order => "created_at DESC"
end
if params[:mailbox] == "trash"
@messages = @user.deleted_messages.paginate :per_page => 10, :page => params[:page], :order => "created_at DESC"
end
end
class messages控制器10,:page=>params[:page],:order=>created\u at DESC
elsif参数[:邮箱]=“收件箱”
@messages=@user.received_messages.paginate:per_page=>10,:page=>params[:page],:order=>created_at DESC
#elsif参数[:邮箱]=“已存档”
#@messages=@user.archived\u消息
结束
如果参数[:邮箱]=“未读”
@messages=@user.unread\u messages.paginate:per\u page=>10,:page=>params[:page],:order=>created\u at DESC
结束
如果参数[:邮箱]=“垃圾”
@messages=@user.deleted_messages.paginate:per_page=>10,:page=>params[:page],:order=>created_at DESC
结束
结束
所以您正在创建一个作用域收件箱
,但您没有在控制器中使用它。这是否回答了您的问题?您忘了在controller中调用范围,我相信是:
elsif params[:mailbox] == "inbox"
@messages = @user.received_messages.inbox.paginate :per_page => 10, :page => params[:page], :order => "created_at DESC"
谢谢我完全忽略了这一点。