我对 Rails 不是很有经验,但我之前已经在几个应用程序中使用过它。这个应用程序是不同的,因为我想将一个 ruby 脚本移植到一个 rails 应用程序并且我遇到了几个问题,我很确定我会以错误的方式去做,所以想问一些建议。
该脚本生成一些方程式,我希望控制器只调用一个助手(或其他东西)来使用我的脚本生成方程式列表,然后将它们作为 JSON 或我可以在视图中使用 JS 玩弄的东西传递。我尝试简单地将脚本文件复制到 helpers 文件夹,但是当我尝试通过我在控制器中创建的新路由来初始化它们时,它给出了这个错误:NameError(未初始化的常量 UsersController::EquationSettings)。我认为它可能期望我的模型包含所有这些对象。
代码片段:
新的控制器动作在 users_controller 中(它现在有自己的路由 - 希望它只是将 equation_list 和用户传递到我将处理所有显示的视图):
def list_equations
@user = User.find(params[:id])
equation_settings = EquationSettings.new 10
equation_list_generator = EquationList.new equation_settings
@equation_list = equation_list_generator.generate
respond_to do |format|
format.html # show.html.erb
format.json { render json: @user, json: @equation_list }
end
end
文件夹结构: app/controllers/users_controller.rb(上面提到的控制器)app/helpers/equation_helpers/(这里有EquationSettings和EquationList rb文件)
一旦这个 @equation_list 被传递给视图,我只想能够像访问任何其他 JSON 哈希一样访问它。对任何建议都持开放态度,如果我似乎完全以错误的方式去做这件事,请尝试为我指明正确的方向。感谢所有读者的时间,
——安东尼