我意識到這與其他一些問題類似,但我經歷了一些相當多的人,我想我正在做他們建議的,但我的代碼仍然是不工作。Rails js.erb響應不發送本地人到Haml局部
因此,正如標題所說,我試圖從js.erb文件中加載一個部分(以響應AJAX調用)。但是,它無法正常工作。
full_list.html.haml:
=link_to(test_path(@work), id: "privacy-button", remote: true) do
= render "privacy_button_content", locals: {:show_others => @work.show_others}
_privacy_button_content.html.haml:
-if locals[:show_others] == false
-test_string = "twas false"
-else
-test_string = "twas true"
%p = test_string
works_controller.rb:
def test_function
@work.model_function
respond_with(:layout => false)
end
test_function.js.erb:
$("#privacy-button").html("<%= escape_javascript render(:partial => 'privacy_button_content', locals: {:show_others => @work.show_others}) %>");
所以full_list有privacy_button,它是呈現部分,並且單擊#隱私按鈕的響應應該是修改控制器中的某些內容,並獲取response.js.erb。
這正常工作在頁面加載(所以路過當地的部分沒有工作,),但每當我運行AJAX調用我得到
(undefined local variable or method `locals' for #<#<Class:0x00000005006338>:0x000000068481f8>):
任何幫助,將不勝感激。如下
嘿Kirti,謝謝你回到我身邊。我只是給了一個鏡頭,不幸的是它沒有工作(而之前它加載的初始頁面加載部分,但不是從JavaScript,與此更改它不會加載頁面加載。)我知道我可以通過他們只是「show_others」=> @ work.show_others,這將使你爲部分工作建議的語法,但我切換到當地人的散列,因爲我看到一些人說它可能有助於我的問題(它沒有' )但認爲我的問題可能與在haml和erb之間移動有關,所以我現在正在處理這個問題。 – LiamD