我正在构建一个包含数百个html页面的Rails应用程序,它需要在每个页面上包含js库的唯一javascript。 Rails因为我对它更熟悉,也适用于其他后端目的。
为了获得一个想法,你可以举一个简单的代码转换(例如XML到JSON)在线工具的例子。这里将用于将xml数据转换为json的代码在HTML页面上用javascript编写。在我的情况下,我想制作100个这样的工具(即csv到json,html到pdf等),其中每个工具都独立于其他工具。我没有在数据库中存储这些数据,只包含将要使用工具的用户信息。因此基本上所有页面都将从单个控制器呈现。
请建议我更好的方法,或者我应该继续在每个HTML页面上编写javascript。谢谢。
答案 0 :(得分:0)
我不确定理解你的理想。但是,我认为你可以尝试将你的javascript代码保存到数据库中。 并且您使用控制器从数据库读取javascript代码并将其呈现为javascript文件。
示例:
# routes.rb
get '/js/:file_name.js', to: 'javascripts#show'
# model
Javascript( id: :interget, name: :string, content: :text )
# controller
class JavascriptsController < ApplicationController
def show
js = Javascript.find_by_name(params[:file_name])
respond_to do |format|
format.js { js.content if js.present? }
end
end
end
我试着简单地描述我的理想。请再次检查,确定它可以正常工作。
希望得到它的帮助。
答案 1 :(得分:0)
对于您的上述情况,我建议使用coffeescript OOP方法,下面是您的要求的详细信息和一些代码
示例coffeescript并检查每页加载
class App.PurchaseRequest
renderYourJavascript: ->
console.log "purchase request js"
$(document).on "turbolinks:load", ->
if $(".purchase_requests.new")[0] || $(".purchase_requests.edit")[0]
purchase_request = new App.PurchaseRequest
purchase_request.renderYourJavascript()