Ruby on rails 我应该把它放在我的控制器或模型中吗?

Ruby on rails 我应该把它放在我的控制器或模型中吗?,ruby-on-rails,Ruby On Rails,我的控制器中当前有我的出席方法。我的问题是,我如何知道是否将其放在我的事件或用户模型与我的事件控制器中?我还将添加另一个方法remove_attent,它与attent相反。我应该在什么时候将这些方法放入模型中 def attend @event = Event.find(params[:id]) if @event.users.include?(current_user) flash[:error] = "You're already attending this

我的控制器中当前有我的出席方法。我的问题是,我如何知道是否将其放在我的事件或用户模型与我的事件控制器中?我还将添加另一个方法remove_attent,它与attent相反。我应该在什么时候将这些方法放入模型中

 def attend
    @event = Event.find(params[:id])
    if @event.users.include?(current_user)
      flash[:error] = "You're already attending this event."
    else
      current_user.events << @event
      flash[:success] = "Attending event!"
    end
    redirect_to @event
  end
def出席
@event=event.find(参数[:id])
如果@event.users.include?(当前用户)
flash[:error]=“您已经参加了此活动。”
其他的

current_user.events它属于事件控制器。闪存消息或重定向不能放入模型中。因此,当您看到其中一个时,可以安全地假设它们是控制器材质


它属于事件控制器,因为参与引用的资源是事件。从这个意义上讲,您可以创建、编辑或参加活动。

它属于活动控制器。闪存消息或重定向不能放入模型中。因此,当您看到其中一个时,可以安全地假设它们是控制器材质


它属于事件控制器,因为参与引用的资源是事件。从这个意义上讲,您可以创建、编辑或参加活动。

我会将此代码留在控制器中。如果您开始访问此代码中的用户属性(例如,检查用户的类型或他们已经参与的事件的数量),则最好将该代码移动到用户模型中

我会把这个代码留在控制器里。如果您开始访问此代码中的用户属性(例如,检查用户的类型或他们已经参与的事件的数量),则最好将该代码移动到用户模型中

这应该在控制器中,只应调用模型来编辑或检索数据


从我看到的情况来看,您所引用的对象(当前用户)不是调用方法的类的属性,这不应该发生在模型中

这应该在控制器中,只应调用模型来编辑或检索数据


从我看到的情况来看,您所引用的对象(当前用户)不是调用方法的类的属性,这不应该发生在模型中

假设我需要一个方法来移除用户和事件之间的关系…我需要这个方法在事件和用户视图/控制器中都可用…我应该把它放在事件助手中吗?这应该属于哪里?理想情况下,这应该属于事件模型。在偶数模型上应该有一个remove方法。然后,用户可以使用关联代理(如user.event.remove)调用该方法。这就是Rails的优点:)最后一个问题:我在事件模型中使用了remove_出席方法。我应该直接从视图中调用该方法,还是应该在两者之间放置一个控制器?当然不是在视图中。将它放在控制器中,并创建一个实例变量以显示在视图中。因此,假设我需要一个方法来删除用户和事件之间的关系…并且我需要此方法在事件和用户视图/控制器中都可用…我应该将其放在事件帮助器中吗?这应该属于哪里?理想情况下,这应该属于事件模型。在偶数模型上应该有一个remove方法。然后,用户可以使用关联代理(如user.event.remove)调用该方法。这就是Rails的优点:)最后一个问题:我在事件模型中使用了remove_出席方法。我应该直接从视图中调用该方法,还是应该在两者之间放置一个控制器?当然不是在视图中。将其放入控制器中,并创建一个实例变量以显示在视图中。