Ruby on rails 在RubyonRails网站中使用RubyonRails构建的基于文本的RPG?

Ruby on rails 在RubyonRails网站中使用RubyonRails构建的基于文本的RPG?,ruby-on-rails,Ruby On Rails,我是RubyonRails的初学者,我在业余时间做游戏。我已经用RubyonRails建立了一个基本的网站来主持/显示我所做的游戏。我发现通过构建游戏来学习新语言很有趣,我想通过基于文本的RPG来探索RubyonRails的功能。我想把它放在我的网站上,但我不想把游戏的MVC结构和网站的结构混为一谈。让他们分开的最好方法是什么?我一直在读RubyonRails的引擎特性。这是实现这一目标的可行方式吗?否则,是否可以将其构建为单独的rails应用程序并将其嵌入到网站中 对不起,我的街区太长了。希望

我是RubyonRails的初学者,我在业余时间做游戏。我已经用RubyonRails建立了一个基本的网站来主持/显示我所做的游戏。我发现通过构建游戏来学习新语言很有趣,我想通过基于文本的RPG来探索RubyonRails的功能。我想把它放在我的网站上,但我不想把游戏的MVC结构和网站的结构混为一谈。让他们分开的最好方法是什么?我一直在读RubyonRails的引擎特性。这是实现这一目标的可行方式吗?否则,是否可以将其构建为单独的rails应用程序并将其嵌入到网站中

对不起,我的街区太长了。希望它有意义,并感谢您的帮助。

您肯定可以制造一台发动机

发动机是独立的应用

特别是如果您使用该指令,引擎在“主”应用程序上几乎不会显示。您可以使用
main_app
引用它,但最终它将是独立的:

#lib/game/game.rb
module Game
   class Engine < ::Rails::Engine
      isolate_namespace Game #-> url.com/game
   end
end
#lib/game/game.rb
模块游戏
类引擎<::Rails::引擎
隔离名称空间游戏#->url.com/Game
结束
结束
这与routes文件中的“名称空间”的作用几乎相同——将整个游戏代码放在一个模块中:

# lib/game/app/controllers/game/application_controller.rb
class Game::ApplicationController < ActionController::Base
   x
end
#lib/game/app/controllers/game/application#u controller.rb
类游戏::ApplicationController

你可以做的一个很好的例子如下

#app/models/game.rb
class Game < ActiveRecord::Base
   #schema id | name | created_at | updated_at
   has_many :players
end

#app/models/player.rb
class Player < ActiveRecord::Base
   belongs_to :game
end
#app/models/game.rb
类游戏
以上内容将允许您管理网站上的“玩家”,然后您可以更新游戏本身的分数


我可以给你更多的信息,但我需要知道这是否是你首先想到的。如果您在评论中告诉我,我将能够进行适当的更新。

当它起作用时,请告诉我们!非常感谢。这正是我要找的。我只是想确保我可以使用引擎来构建游戏,而不依赖于我的网站或数据库。这样,如果我说,想把它转移到另一个站点,或者让它成为一个独立的站点,它们是不可分割的。我将开始我的网站的另一个分支,并开始玩这些想法。如果你认为我应该知道更多的信息,请随意详述。再次感谢你!