首先,我要说,我对Ruby和Rails非常陌生,也没有找到一个清晰的演示,说明如何将一个有效的Ruby程序转换为一个由Rails驱动的web应用程序。
Ruby :我有一个简单的类,允许用户创建一个“棒”,用户可以在这个类上设置一个蚂蚁到任何一个开放的英寸位置,其方向是随机向上/向下移动的。然后,用户可以调用一个run命令,看到蚂蚁向上或向下移动,直到蚂蚁从两端掉下来。用户可以检查它的最小和最大次数,它需要一只蚂蚁从杆上掉下来。
Rails部件:由于这个程序的输出可能会根据蚂蚁的初始方向而改变,所以我不认为需要在许多实例上使用数据库。
问题:我的模型类应该保存我已经编写的所有代码吗?如果我想构建一个简单的网页,允许用户创建一个棍子,然后显示并不断更新其数组,然后添加每个蚂蚁的名称和位置,那么如何(以及从哪里)调用我编写的方法?
我可能完全错了,但我怀疑我的代码应该在模型包中,对我创建的方法的调用将在控制器中。这意味着我应该确保控制器类中的新方法接受一个整数(表示大小)。我还应该编写一个新的方法来创建和设置ant,并接受一个字符串和整数(也在控制器中)。
代码看起来应该是:
def new(size)
@marchingant = Marchingant.new(size)
respond_to do |format|
format.html # new.html.erb
format.json { render json: @marchingant }
end
end
def createAndSet(loc, name)
@marchingant.createAndSet(loc, name)
end
(模型类中的方法验证输入)感谢您的帮助!
发布于 2013-05-28 13:02:04
模型包含状态、控制器控制行为和视图,向用户显示数据。因此,在这种情况下,您可能应该有一个Ant
模型,或者一个Stick
模型。蚂蚁与棍子有关,它的位置应该在棍子大小的范围内。因此,在index
操作(或设置这一切的地方)上,您将初始化一个棍子,当用户与应用程序交互时,使用AJAX实例化新的Ant对象并在屏幕上显示它们。我不知道你怎么会想到叫createAndSet
。将有助于更多地了解用户与应用程序的交互。
老实说,我的想法是Rails根本不需要参与进来。如果您没有将它保存到数据库中,并且用户以后不需要检索事物的状态,那么我将用Javascript编写整个过程。您可以创建一个Ant并粘贴对象,并公开附加到DOM节点上的函数,以便用户进行交互。
https://stackoverflow.com/questions/16801010
复制