[英]how can I test a ruby/rails variable on coffeescript?
如何在coffeescript中測試ruby變量? 我正在更新Rails遺留應用程序,並嘗試保持第一步中可以關閉的原始格式。 使用.js.erb
,我可以簡單地執行<%= if @var %>
.js.erb
<%= if @var %>
來實現所需的功能。
貝婁是視圖的代碼,有兩次錯誤的嘗試:
if @review_change_needs_refresh # Don't work
# if "#{@review_change_needs_refresh}" == "true" Don't work too
location.reload()
else
button_div_id = "#ManagedWorkFor#{@work.class.to_s}#{@work.id}"
label_div_id = "#chat_#{@managed_work.to_language_id}_label"
$(button_div_id,"#{escape_javascript(render(:partial => "/managed_works/managed_work", :object=>@work))}")
if @checkbox_label.any?
for element in $("##{label_div_id}") then do => $("##{label_div_id}", "#{@checkbox_label}")
在操作上,正在測試的變量是布爾值:
@review_change_needs_refresh = params[:review_change_needs_refresh] == 1
我在coffeescript文件的第一行收到以下錯誤:
ActionView::Template::Error (SyntaxError: unexpected {):
那么,如何測試Coffeescript中的紅寶石變量?
如果您確實要在CoffeeScript文件中使用Ruby代碼,只需將其重命名為*.js.coffee.erb
。 然后,您可以將<%= %>
標記放入文件中。
就像MyYoshiji所鏈接的問題一樣,Rails團隊出於性能原因決定不支持您嘗試做的事情。
我個人將使用我的Ruby數據在視圖文件中設置一些JS變量,然后將這些變量加載到CoffeeScript文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.