2012-12-25 49 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