2个控制器之间的关系

时间:2009-12-04 03:45:58

标签: ruby-on-rails ruby

如何定义两个控制器之间的关系。我有一个叫做rides的控制器,另一个叫做注册人。无论如何我可以从游乐设施控制器中访问注册人数据库吗?我在想

@registrant = Registrant.find(:first)

来自游乐设施,但这不起作用。 有什么建议吗?

由于

3 个答案:

答案 0 :(得分:2)

您可以从您的游乐设施控制器访问您的注册人模型,就像从任何其他控制器访问它一样。你Registrant.find(:first)没有工作是什么意思?

现在,如果您的游乐设施模型和注册人模型(如has_many关联)之间存在关系(或通常称为关联),则可以使用嵌套资源将一个控制器嵌套到另一个控制器中。

查看Action Controller OverviewRails 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访问注册人模型。它们应该位于同一个数据库中,但应位于不同的表中。

请发布您收到的错误消息。