Javascript 将ruby代码与js.coffee脚本混合使用
在我的视图中有ajax链接,我想在它们被发送到实际操作之前检查它们的密码,因为我使用Desive controller,所以我只能使用特定的密码检查。 下面是我希望用于验证的咖啡脚本 。“一些行动”:信息=> n、 id},类:“css_类”,:remote=>true%> 我正在使用上面的链接 我正在寻找以下类型的代码Javascript 将ruby代码与js.coffee脚本混合使用,javascript,jquery,ruby-on-rails,ajax,coffeescript,Javascript,Jquery,Ruby On Rails,Ajax,Coffeescript,在我的视图中有ajax链接,我想在它们被发送到实际操作之前检查它们的密码,因为我使用Desive controller,所以我只能使用特定的密码检查。 下面是我希望用于验证的咖啡脚本 。“一些行动”:信息=> n、 id},类:“css_类”,:remote=>true%> 我正在使用上面的链接 我正在寻找以下类型的代码 $("a.css_class").live "click", -> password_variable = prompt("Enter password",
$("a.css_class").live "click", ->
password_variable = prompt("Enter password", "password")
if |ruby-code|current_user.valid_password?(password_variable)|ruby-code|
true
else
alert "You entered wrong password"
false
ruby代码如何与coffee脚本混合使用。如果它是一个用于静态资产的代码,那么很明显,您将无法在其中添加一些服务器端动态。它将被转换成一个简单的JavaScript代码片段,并放入应用程序的
public
文件夹中
如果你的观点叫做*.coffee,那么你已经做好了所有的准备。以这种方式命名的视图将通过ERb引擎自动预处理(通过
):
在视图中/some/thing.coffee:
alert "Server's time is <%= Time.now %>"
警报“服务器的时间为”
我也有同样的疑问
背景:
我正在为我的公司写一个ERP。它使用西班牙语、英语和日语的信息
我用的是coffeescript,haml,scss,没有ERB
因此,在我的所有视图中,多语言消息都可以正常工作,但是,我添加了一个.js库,用一个带有下拉列表的漂亮组合框替换浏览器丑陋的dropbox,它使用一个散列来保存本地语言的消息
所以我所做的是:
\u form.html.haml
我在视图中执行此操作,以便可以访问I18n库。如果我尝试访问a.js.coffee中的I18n库,它就会失败
现在,在
mycode.js.coffee
我认为,最好先将其重定向到另一个操作,然后使用render:js=>“function();”怎么说?@NishutoshSharma我想做一些“取消”ajax操作。然后,您可以在提示符字段输入密码后通过ajax访问它。因此,您可以使用
link\u-to\u功能来代替远程link\u-to
。它将请求密码并发出一些非GET请求以取消订单。在Rails 4中,我发现有必要将文件命名为views/some/thing.coffee.erb
,以便处理嵌入的Ruby语句。这对于嵌入存储在secrets.yml
中的Rails 4配置非常有用。
:coffeescript
menssages_for_select2 [
"#{I18n.t('select.formatNoMatches')}"
"#{I18n.t('select.formatInputTooShort')}"
"#{I18n.t('select.formatInputTooLong')}"
"#{I18n.t('select.formatSelectionTooBig')}"
"#{I18n.t('select.formatLoadMore')}"
"#{I18n.t('select.formatSearching')}"
]
@mensajes_select2 = (txt) ->
$.extend $.fn.select2.defaults,
formatNoMatches: ->
txt[0]
formatInputTooShort: (input, min) ->
txt[1]
formatInputTooLong: (input, max) ->
txt[2]
formatSelectionTooBig: (limit) ->
txt[3]
formatLoadMore: (pageNumber) ->
txt[4]
formatSearching: ->
txt[6]