如何定义两个控制器之间的关系。我有一个叫做rides的控制器,另一个叫做注册人。无论如何我可以从游乐设施控制器中访问注册人数据库吗?我在想
@registrant = Registrant.find(:first)
来自游乐设施,但这不起作用。 有什么建议吗?
由于
答案 0 :(得分:2)
您可以从您的游乐设施控制器访问您的注册人模型,就像从任何其他控制器访问它一样。你Registrant.find(:first)
没有工作是什么意思?
现在,如果您的游乐设施模型和注册人模型(如has_many关联)之间存在关系(或通常称为关联),则可以使用嵌套资源将一个控制器嵌套到另一个控制器中。
查看Action Controller Overview和Rails Routing from the Outside In指南,考虑选择一本关于Rails的好书,如Agile Web Development with Rails。
答案 1 :(得分:0)
如果您已定义模型:骑行和注册人(或更一般的用户),那么您可以在游乐设施控制器上设置before_filter:
before_filter :get_user
def get_user
@user = User.find(:first, :conditions => %Q(userid = "#{params[:user_id]}"))
end
这将在控制器生成视图之前以user_id作为参数获取用户。
答案 2 :(得分:0)
是的,这应该有效。要使术语正确,您将从RidesController访问注册人模型。它们应该位于同一个数据库中,但应位于不同的表中。
请发布您收到的错误消息。