首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用ruby操作/方法而不重定向

调用ruby操作/方法而不重定向
EN

Stack Overflow用户
提问于 2015-04-21 21:28:42
回答 3查看 1.9K关注 0票数 1

我有一个动作叫做new in ConversationsController。我也有一个视图,new.html.erb,它有以下内容:

代码语言:javascript
复制
<%= button_to "New", action: "save_it" %>

在ConversationsController中,我还有一个操作,save_it,它在Redis数据库上执行一些操作。

这里一切都很好。当我单击按钮时,save_it操作正在运行,Redis数据库操作也正在成功执行。

问题是我正被重定向到save_it.html.erb。是否有任何方法可以调用save_it,例如只执行数据库命令而不重定向其他地方?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-21 22:22:08

我想出来了..。我把我的save_it动作

/app/helpers/conversations_helper.rb

而不是

/app/controllers/conversations_controller.rb

因此,现在save_it是conversations_helper.rb中的一种正常方法。这可以通过创建一个普通的new.html.erb按钮从中调用。

代码语言:javascript
复制
<input type="button" onclick=" <%= save_it -%> "  value="save" />
票数 0
EN

Stack Overflow用户

发布于 2015-04-21 21:52:48

您可以使用remote:true条件调用它,使其成为ajax调用。它将尝试在不重新加载页面的情况下加载save_it.js.erb。

代码语言:javascript
复制
<%= button_to "New", action: "save_it", remote: true %>
票数 1
EN

Stack Overflow用户

发布于 2015-04-21 23:42:59

您可以通过您的控制器操作实现:

代码语言:javascript
复制
def save_it
  # do stuff
  render nothing: true
end

我想,这就行了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29783464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档