2012-12-25 61 views
1

我希望你能幫我解決一些小問題。從控制器Ruby on Rails調用JavaScript 3.2.9

我在ROR控制器一些代碼:

def create 
    @email = Email.new(params[:email]) 

    respond_to do |format| 
     if @email.save 
     format.html { redirect_to root_path } 
     format.json { render json: @email, status: :created, location: @email } 

     else 
     format.html { render action: "new" } 
     format.json { render json: @email.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

如果電子郵件保存,

if @email.save 

我想DIV在HTML文件

<div id="notice">OK</div> 

將表現出與此javascript

document.getElementById("notice").style.display = 'block'; 

但我不知道我應該把js文件放在哪裏以及如何從控制器調用它。

謝謝。

+1

JavaScript是在客戶端的瀏覽器中運行,因此,你應該,但到這個HTML模板。 –

+0

我想我應該從控制器給模板一個「符號」,以便使用js權力。 – Aaxenon

回答

0

Rails將在調用render操作時尋找'new'模板以返回給用戶。指定的操作用於確定要呈現哪個視圖。

您需要將JavaScript添加到本模板中。一旦用戶發佈到您的控制器,'新'模板將被返回到他們的瀏覽器,您的JavaScript可以在客戶端執行。

欲瞭解更多信息,請參閱:http://guides.rubyonrails.org/layouts_and_rendering.html