【发布时间】:2015-09-29 06:18:50
【问题描述】:
我的模型 User 和 Request 之间存在解耦关系。 IE。 requests 表中没有 user_id 字段。我有一个查找器来找出用户可以看到的与默认 ActiveAdmin 调用不同的请求
requests where user_id = x
我曾假设如果我的 User 类中有一个名为 requests 的方法调用此查找器,ActiveAdmin 将能够找出它,但事实并非如此。所以这里有一些代码。我之前认为这可以获取用户的请求:
class User
...
def requests
RequestFinder.new(self).find
end
...
end
然后我得到了这个错误:
PG::UndefinedColumn: ERROR: column requests.user_id does not exist
LINE 1: ...T 1 AS count_column FROM "requests" WHERE "requests"...
所以我想我应该重写请求控制器中的 index 方法:
def index
@requests = RequestFinder.new(current_user).find.page(params[:page]).per(20)
end
然后我收到以下错误:
First argument in form cannot contain nil or be empty
vendor/bundle/ruby/2.2.0/gems/actionview-4.2.4/lib/action_view/helpers/form_helper.rb:432:in `form_for'
我不确定如何重新格式化我的请求控制器以呈现来自查找器而不是来自用户的请求。
【问题讨论】:
标签: ruby-on-rails ruby activeadmin