在另一个模型上调用窗体的记录
我完全停留在如何做到这一点上,希望有人能指出我正确的方向。我有一个rails应用程序,它有机组人员,这是部门的一部分,每个人都有职位。我期望创建一个主列表功能,其中创建一个页面,其中包含按部门分组的所有船员姓名和他们各自的位置。在创建阶段,我希望用户能够从列表中删除他们不想打印的名称。但是,我不希望实际的船员被删除。任何见解都会很棒。在另一个模型上调用窗体的记录
您可以通过运行rails generate migration add_visible_to_crewmembers visible:boolean
添加一个名为:visible
场。
添加默认值(true
,只要你想的机组人员是正常辨认)迁移:
def up
change_column :visible, :boolean, default: true
end
def down
change_column :visible, :boolean, default: nil
end
坚持这些改变你的数据库,通过运行rake db:migrate
。
之后,你就可以在你的机组成员模型(apps/models/crewmember.rb
)创建范围只返回可见机组人员,像这样:
class Crewmember < ActiveRecord::Base
belongs_to :department
[...]
scope :visible, where(visible: true)
end
在您的控制器,使用范围而不是默认的(或使用#all
,例如):
def index
# Before:
# @crewmembers = Crewmember.all
# @crewmembers.size => 10
@crewmembers = Crewmember.visible
# @crewmembers.size => 5
end
如果我有一个应用程序的不同部分,我需要管理查看编辑等工作人员;我可以使用Crewmember.visible仅用于callsheets控制器吗? –
是的。每当你只需要选择可见的船员,你可以使用Crewmember.visible,无论是在控制器,在另一个模型,课程等。 –
我怎么能通过新的调用表格的形式改变可见状态的功能? –
你的问题是什么?按部门分组组员,或如何打印预期的组员?如果你更新你当前的代码,以及你坚持的是哪一部分,那更好? –