我有一个旧的rails 2.x项目,我已经将其转换为rails 5。

一个问题是我的一些操作使用了RJS,所以它看起来像:

if request.xhr?
  render :action => 'new_user' and return
end

new_user.js.rjs看起来像:

page.call "User.create", render(:partial => 'new_user'), {:userId => @user.id}

看看chrome中的响应我可以看到它刚刚返回:

User.create('<tr><td>....</td></tr>', {"userId" : 123});

我只需要支持page.call类型的RJS调用,在rails 5中使用它会是一个简单的“hack”吗?

我不想修改我的所有javascript代码,我只需要一个javascript块,我将JS代码传递到我的视图页面中吗?

#1楼 票数:2

尝试将响应呈现为字符串:

if request.xhr?
  render render_to_string partial: 'new_user',
    locals: { userId: @user.id },
    layout: false
end

或者尝试使用格式处理程序:

respond_to do |format|
   format.rjs do
     render render_to_string partial: 'new_user',
       locals: { userId: @user.id },
       layout: false
   end
end

#2楼 票数:1 已采纳

我最终将JSON响应返回到我的视图页面,如下所示:

some_partial_html = render_to_string(:partial => 'something')

response = {
  "html": some_partial_html,
  "a" : 1
}.to_json
render json: response

然后在我看来,我使用json响应值作为执行我需要的功能的javascript对象的争论。

  ask by Blankman translate from so

未解决问题?本站智能推荐:

2回复

Rails中的RJS / Javascript约定

我开始在Rails中研究RJS和Prototype / jQuery的整个世界,我有点困惑。 似乎没有清楚的线路在哪里使用其中一个。 假设我想要一个“Active,Hot,Week”标签,就像SO上的标签一样。 当按下其中一个时,我想从我所在的那个中删除一个CSS类(比如“active
3回复

(Rails)什么是“RJS”?

我在博客文章和教程中看到了“RJS”和“RJS 模板”。 我进行了搜索,但我仍然不确定。 它是特定于 Rails 的技术,而不是像 JSON 或 YAML 这样的标准吗? 我知道它用于“生成 JavaScript”。 它是否生成需要 Prototype 和 Scriptaculous 库的通用 J
3回复

在Rails中重用js.rjs文件?

我有一个.js.rjs文件,必须在很多地方使用。 我该如何重复使用它? 例如,在我的.js.rjs文件中,我需要这样的东西: 其中“wider_used_stuff”是一个wide_used_stuff.js.rjs文件,其中包含许多地方使用的代码。 另外,我需要将变量
2回复

如何使用RJS在Rails中重新加载部分页面?

嗨,我目前正在从事Rails项目。 我必须重新加载部分页面。 例如创建动作 在我的视图中posts / create.js.rjs我想重新加载users / _login.html.erb文件,其中包含帖子总数或帖子的大小,当它创建新帖子时,应重新加载部分页面_login。 ht
2回复

Rails 3和RJS

我使用rails 3.0.0.beta 是否有任何新的语法来编写RJS,这是一个例子
2回复

Rails 3.2.2不执行rjs

我正在关注使用Rails第4版的Pragmatic Agile Web Development ,但是我正在使用Rails 3.2.2而不是3.0.5,如本书所推荐: 我在包括AJAX重绘购物车而不重新加载页面时陷入困境。 这是line_items_controller.rb中的cre
1回复

Rails在chrome中渲染.rjs但在Firefox中渲染.erb

我在foo视图中,并且其中有一个远程表单 提交视图时,将发生一些操作,之后,.rjs文件应重新渲染部分div。 在Chrome中可以正常工作,但在Firefox中,再次呈现html.erb页面。 有人可以帮我吗?
1回复

多个Rails应用程序中的RJS泄漏漏洞

我遇到了以下有关多个Rails应用程序中RJS泄漏漏洞的博客文章。 Mike Hartl的书使用RJS。 使用RJS是否危险? 问题是我链接到的博客文章缺少详细信息,我不理解。 有人可以详细说明问题是什么吗?