Rails3中的jquery/javascript
我的印象是,您可以在Rails 3的视图模板中添加javascript。例如,如果我在Rails3中的jquery/javascript,javascript,ruby-on-rails,Javascript,Ruby On Rails,我的印象是,您可以在Rails 3的视图模板中添加javascript。例如,如果我在views/public/home.html.erb <div id="block">click</div> Javascript不应添加为视图文件(bla.js.erb)。它们必须放在assets/javascripts中,或者至少放在lib或vendor目录中 如果尚未使用require_tree,则还必须在application.js文件中要求它们 这样,您就不需要在视图中以任何
views/public/home.html.erb
<div id="block">click</div>
Javascript不应添加为视图文件(bla.js.erb)。它们必须放在assets/javascripts中,或者至少放在lib或vendor目录中 如果尚未使用require_tree,则还必须在application.js文件中要求它们 这样,您就不需要在视图中以任何方式引用javascript(application.js将为您提供它)。否则,您需要指定一个布局来在块中插入javascript文件,因为视图是在标记之后呈现的 有很多理由不直接在html中使用javascript(除了明显的测试),请阅读以了解更多信息 当您创建一个具有与html.erb不同扩展名的视图时,仅当您的url指定具有该扩展名的格式时才会使用该扩展名,例如mywebsite/users.json最终将返回index.json.erb
对于AJAX您希望返回一个JSON对象,而不是javascript,这绝对不是正确的方法。请记住,您正在使用一个框架,您应该遵循它的指导原则。如果你想使用它的rails,使用它会很困难。Javascript不应该作为视图文件(bla.js.erb)添加。它们必须放在assets/javascripts中,或者至少放在lib或vendor目录中 如果尚未使用require_tree,则还必须在application.js文件中要求它们 这样,您就不需要在视图中以任何方式引用javascript(application.js将为您提供它)。否则,您需要指定一个布局来在块中插入javascript文件,因为视图是在标记之后呈现的 有很多理由不直接在html中使用javascript(除了明显的测试),请阅读以了解更多信息 当您创建一个具有与html.erb不同扩展名的视图时,仅当您的url指定具有该扩展名的格式时才会使用该扩展名,例如mywebsite/users.json最终将返回index.json.erb
对于AJAX您希望返回一个JSON对象,而不是javascript,这绝对不是正确的方法。请记住,您正在使用一个框架,您应该遵循它的指导原则。如果你想生活在它的轨道上,使用它将很困难。嗯。不,这样不行。根据响应类型,只会呈现视图/public/home.*中的一个。嗯。不,这样不行。根据响应类型,只会呈现视图/public/home.*中的一个。您可以使用javascript\u include\u标记 如果在public/javascript中有js文件source1.js和source2.js,那么可以使用
javascript_include_tag 'source1', 'source2'
您可以使用javascript\u include\u标记 如果在public/javascript中有js文件source1.js和source2.js,那么可以使用
javascript_include_tag 'source1', 'source2'
但同时,要让Ajax在不刷新页面的情况下工作,javascript不一定要在视图中吗?javascript是通过资产包含的,或者作为标签呈现在视图中。。。ajax调用链随后出现在第二个请求中。ajax方法调用服务器,服务器根据调用类型做出相应的响应-ajax调用可以使用js.erb模板、json或xml进行响应…但同时,为了让ajax在不刷新页面的情况下工作,javascript不一定要在视图中吗?javascript通过资产包含,或者作为正在呈现的视图中的标记包含。。。ajax调用链随后出现在第二个请求中。ajax方法调用服务器,服务器会根据调用类型做出相应的响应——ajax调用可能会使用js.erb模板、json或xml进行响应……好的,谢谢。事实上,我刚刚检查了我正在阅读的一本书,他们在public/views/tags中有一个名为remove.js.erb的文件,在tags控制器中有一个名为“remove”的函数。他们这样做显然是为了让ajax在不刷新页面的情况下更改演示文稿……将其置于public/views/tags中是不同的,这不是一个视图,而是一个可以放置始终可见内容的地方。如果您真的想用ajax调用作为视图的javascript文件,请记住,如果视图是myview.js.erb,您应该在链接中附加.js。例如:mywebsite/users.jso.k.,谢谢您的解释。非常感谢您能给予的任何帮助。干杯。没问题,我也在学习rails,还做了一些格式方面的工作,所以我对这部分理解得很好。如果您需要任何其他帮助,请询问;)o、 k,谢谢。事实上,我刚刚检查了我正在阅读的一本书,他们在public/views/tags中有一个名为remove.js.erb的文件,在tags控制器中有一个名为“remove”的函数。他们这样做显然是为了让ajax在不刷新页面的情况下更改演示文稿……将其置于public/views/tags中是不同的,这不是一个视图,而是一个可以放置始终可见内容的地方。如果您真的想用ajax调用作为视图的javascript文件,请记住,如果视图是myview.js.erb,您应该在链接中附加.js。例如:mywebsite/users.jso.k.,谢谢您的解释。非常感谢您能给予的任何帮助。干杯。没问题,我也在学习rails,还做了一些格式方面的工作,所以我对这部分理解得很好。如果您需要任何其他帮助,请询问;)