在设置简单的所有事物视图时,我遇到了开拓者的问题。
操作
class PageController < ApplicationController
def index
run Word::ShowAll
end
end
控制器
:all
为什么:find
无法从数据库获取所有内容但var arr1=[1,2,3];
var arr2=[4,5,6];
var arr3=[];
arr3.push(arr1,arr2);
console.log(arr3);
通过其ID获取一个?
答案 0 :(得分:1)
询问TRB问题的最佳地点实际上是在Github频道上。
我不确定你在哪里找到这个例子,因为它不应该工作AFAIK,:find是一个我相信的捷径,我从来没有真正使用它。
您应该在流程方法中定义所有逻辑。 http://trailblazer.to/gems/operation/1.1/api.html#process
话虽如此,试图在没有某种分页的情况下获取所有记录是一个非常糟糕的主意,除非你100%确定你的表不会超过几十个记录。除非你知道你没有大负荷。所以定义那种捷径是危险的。
答案 1 :(得分:1)
当你正在做Trailblazer::Model#model
时,只需要一个覆盖TrailBlazer::Operaration#model!
方法的快捷方式。所以你似乎想要做的是:
class Thing < ApplicationRecord
class ShowAll < Trailblazer::Operation
def model!(params)
Thing.all # add any filtering or pagination here
end
end
end
在您的控制器中调用present
而不是run
,以便设置模型,但不会调用操作的process
方法。
class PageController < ApplicationController
def index
present Word::ShowAll
end
end