2011-11-24 56 views
0

创建一个update.js.erb或edit.js.erb JavaScript文件连接到rails 3的动作?javascript和rails 3

我是新来的轨道3,但知道JavaScript。

如果我将respond_to添加到每个动作来接受javascript,那么这个代码是否会被调用?

感谢

+0

你可以发布示例代码,以便它可以更好地理解 –

回答

2

无法理解你的问题,但根据我的理解,你可能会找这个。

可以使用render :js像渲染js文件:

render js: "$('#div_name').some_event;" 
0

在Rails 3,你应该在你的控制器类的顶部设置不同的响应类型。 像这样的东西(可能是它没有任何意义,但是这是一个虚拟的例子):

class UsersController < ApplicationController::Base 

    respond_to :html 
    respond_to :xml, :json, :except => [ :edit ] 
    respond_to :js, :only => [:create] 

    def index 
    respond_with(User.all) 
    end 
end 

然后,您使用的respond_with响应,和Rails将根据接受头或要求承认的请求类型。 (/users.json,/users.xml等格式)并根据格式呈现正确的文件(index.html.erb,create.js.erb等)

0

“Creating a update.js。 erb或edit.js.erb JavaScript文件连接到rails 3操作?“不一定,但应该是。通常,文件名应与方法名相同。它是一个逻辑关系。但你可以指定一个文件名(如果文件名与方法名不同)

respond_to do |format| 
    format.js { render :action => "different_action" } 
end