在Rails中重用js.rjs文件?

时间:2010-09-02 08:20:23

标签: ruby-on-rails partial-views rjs renderpartial

我有一个.js.rjs文件,必须在很多地方使用。

我如何重复使用它?

例如,在我的.js.rjs文件中,我需要这样的东西:

page << ( render "widely_used_stuff" )

其中“wider_used_stuff”是一个wide_used_stuff.js.rjs文件,其中包含许多地方使用的代码。

另外,我需要将变量传递给wider_used_stuff.js.rjs,就像这样:

page << ( render "widely_used_stuff", :locals => {:custom_script => my_script} )   

更新1

我尝试过以下来自.js.rjs文件的方法:

render "widely_used_stuff"

Rails抱怨它,因为它要求这个“部分”是“erb”部分

以下方式:

render :file => "controller/widely_used_stuff.js.rjs"

Rails没有抱怨,但“wide_used_stuff.js.rjs”未插入到.js.rjs文件中,该文件名为render。我检查了XHR的反应。

我认为,问题出在调用者.js.rjs文件中,因为它不是一个错误的...

3 个答案:

答案 0 :(得分:2)

您好吗render "controller/widely_used_stuff.js.rjs"

答案 1 :(得分:2)

page << render(:file => "common/index.js.rjs")

我希望可以提供帮助。

答案 2 :(得分:1)

render :partial => 'view_directory/widely_used_stuff.js.rjs'