<bdo id='hr2fn'></bdo><ul id='hr2fn'></ul>

  1. <tfoot id='hr2fn'></tfoot>
  2. <small id='hr2fn'></small><noframes id='hr2fn'>

    <i id='hr2fn'><tr id='hr2fn'><dt id='hr2fn'><q id='hr2fn'><span id='hr2fn'><b id='hr2fn'><form id='hr2fn'><ins id='hr2fn'></ins><ul id='hr2fn'></ul><sub id='hr2fn'></sub></form><legend id='hr2fn'></legend><bdo id='hr2fn'><pre id='hr2fn'><center id='hr2fn'></center></pre></bdo></b><th id='hr2fn'></th></span></q></dt></tr></i><div id='hr2fn'><tfoot id='hr2fn'></tfoot><dl id='hr2fn'><fieldset id='hr2fn'></fieldset></dl></div>
    1. <legend id='hr2fn'><style id='hr2fn'><dir id='hr2fn'><q id='hr2fn'></q></dir></style></legend>

      Rails/Javascript:如何将 rails 变量注入(非常)简单的 javascript

      Rails/Javascript: How to inject rails variables into (very) simple javascript(Rails/Javascript:如何将 rails 变量注入(非常)简单的 javascript)

          <bdo id='LksmY'></bdo><ul id='LksmY'></ul>
          <tfoot id='LksmY'></tfoot><legend id='LksmY'><style id='LksmY'><dir id='LksmY'><q id='LksmY'></q></dir></style></legend>

              <small id='LksmY'></small><noframes id='LksmY'>

            1. <i id='LksmY'><tr id='LksmY'><dt id='LksmY'><q id='LksmY'><span id='LksmY'><b id='LksmY'><form id='LksmY'><ins id='LksmY'></ins><ul id='LksmY'></ul><sub id='LksmY'></sub></form><legend id='LksmY'></legend><bdo id='LksmY'><pre id='LksmY'><center id='LksmY'></center></pre></bdo></b><th id='LksmY'></th></span></q></dt></tr></i><div id='LksmY'><tfoot id='LksmY'></tfoot><dl id='LksmY'><fieldset id='LksmY'></fieldset></dl></div>
                  <tbody id='LksmY'></tbody>

                本文介绍了Rails/Javascript:如何将 rails 变量注入(非常)简单的 javascript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我想在 rails 中编写一个非常简单的 javascript 计算器,它将输入字段的数量乘以存储在 rails 变量 (@item.base_price) 中的数字

                I want to write up a very simple javascript calculator in rails which multiplies the quantity of an input field by a number stored in a rails variable (@item.base_price)

                所以,在 javascript/coffeescript 方面,大致是这样的:

                So, on the javascript/coffeescript side of things, it's crudely this:

                # app/assets/javascript/items.js.coffee
                $ -> 
                  $('#item_quantity').change ->
                    quantity_val = $(this).val()
                    $('#total_amount').html(quantity_val * <%= I_WANT_@ITEM.BASE_PRICE_HERE %>)
                

                我知道如何通过对每个 change() 调用的 ajax 调用来做到这一点,但我认为必须有一种优雅的、希望不引人注意的 rails 方式,它不会每次都访问服务器.

                I'm aware of how I can do this via an ajax call on each change() call, but I figure there has to be an elegant, hopefully unobtrusive rails way which doesn't hit the server each time.

                非常感谢任何建议

                推荐答案

                如果您使用的是 rails 3.1,您可以利用资产管道在提供 javascript 文件之前对其进行一些预处理.为此,只需将文件扩展名更改为:

                If you are using rails 3.1 you can take advantage of the assets pipeline to do some pre-processing on the javascript files before you serve them up. To do this just change the file extension from:

                items.js.coffee
                

                items.js.coffee.erb
                

                然后您可以将 ruby 添加到您的 javascript 中,就像在您的视图中使用 <%= %> 标签一样.您可能遇到的唯一问题是您的 items.js 文件将被提供给对您应用程序的任何控制器方法的每个请求.所以最好写一个辅助方法,只有当实例变量被初始化时才会返回值

                then you can add ruby to your javascript just like in your view with <%= %> tags. The only gotcha you might run into, is that your items.js file will be served to every request to any of your app's controller methods. So its best to write a helper method that will return the value only if the instance variable is initialized

                例如在 items_helper.rb 中

                For example in items_helper.rb

                def item_price
                    if @item
                        @item.base_price
                    else
                        0
                    end
                end
                

                更多关于资产管道的信息:

                more about assets pipeline here:

                http://guides.rubyonrails.org/asset_pipeline.html

                这篇关于Rails/Javascript:如何将 rails 变量注入(非常)简单的 javascript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                quot;Each child in an array should have a unique key propquot; only on first time render of page(“数组中的每个孩子都应该有一个唯一的 key prop仅在第一次呈现页面时)
                Rails 3.1 ajax:success handling(Rails 3.1 ajax:成功处理)
                CoffeeScript always returns in anonymous function(CoffeeScript 总是以匿名函数返回)
                Ordinals in words javascript(javascript中的序数)
                getFullYear returns year before on first day of year(getFullYear 在一年的第一天返回前一年)
                How do I make a TextGeometry multiline? How do I put it inside a square so it wraps like html text does inside a div?(如何制作 TextGeometry 多线?如何将它放在一个正方形内,以便它像 html 文本一样包裹在 div 内?) - IT屋-程序员软件开发技术分享社
                  <tbody id='ZOQp1'></tbody>
              • <tfoot id='ZOQp1'></tfoot>

                <i id='ZOQp1'><tr id='ZOQp1'><dt id='ZOQp1'><q id='ZOQp1'><span id='ZOQp1'><b id='ZOQp1'><form id='ZOQp1'><ins id='ZOQp1'></ins><ul id='ZOQp1'></ul><sub id='ZOQp1'></sub></form><legend id='ZOQp1'></legend><bdo id='ZOQp1'><pre id='ZOQp1'><center id='ZOQp1'></center></pre></bdo></b><th id='ZOQp1'></th></span></q></dt></tr></i><div id='ZOQp1'><tfoot id='ZOQp1'></tfoot><dl id='ZOQp1'><fieldset id='ZOQp1'></fieldset></dl></div>
                • <bdo id='ZOQp1'></bdo><ul id='ZOQp1'></ul>
                    <legend id='ZOQp1'><style id='ZOQp1'><dir id='ZOQp1'><q id='ZOQp1'></q></dir></style></legend>
                    • <small id='ZOQp1'></small><noframes id='ZOQp1'>