我正在努力将公司的会话固定到列表的顶部。
一家公司应该能够将单个火花会话固定在其列表的顶部。因为公司只能进行一次固定会话,因此,如果他们尝试固定新的会话,则应保存新固定的会话并自动取消任何其他会话。
模型:
class SparkSession < ActiveRecord::Base
def pinned!
self.pinned = true
self.save!
end
end
控制器:
class SparkSessionsController < SubdomainsController
def index
@spark_sessions = @company.spark_sessions.where(is_archived: false).order_by_pinned_then_created
end
def pin
load_spark_session
@spark_session.pinned!
flash[:notice] = 'Spark Session pinned'
redirect_to action: :index
rescue ActiveRecord::RecordInvalid
flash.now[:error] = 'Failed to pin Spark Session'
redirect_to action: :index
end
end
查看:
%td= link_to 'Pin', pin_spark_session_path(tbl), method: :post
处理公司会议的重新签订的最有效方法是什么?此外,视图或方法中是否有一种方式更具鲜明的固定帖子?
我会在公司模型中添加PIN_SESSION方法。您可以在那里进行分配并更新其余会话的固定属性