ruby-on-rails - link_to_remote 与渲染

标签 ruby-on-rails

是否可以重新加载通过 link_to_remote 加载的页面?我在我的 Controller 中这样做:

def create
 if captchas_verified
  do_something
 else
  render :action=>'new'
end

但是当验证码错误时,它不会呈现新模板内的表单。顺便说一句,在网络服务器日志中,它显示模板已呈现。

谢谢!

更新:今天我将渲染更改为:
render(:update) { |page| page.call 'location.reload' }

但这让我更新了调用 link_to_remote 的页面,而不是通过 link_to_remote 打开的页面

更新 2:我修复了使用
page.replace_html "mydiv", :partial => "new"
代替
page.call 'location.reload'

最佳答案

您需要render :update , 而不是 render :action .

我一直在做这种事情。与 jdl 的响应类似,您可以使用内联 rjs(不知道这是否正确)来呈现页面。

render(:update) do |page|
  page.replace_html("div_to_update", :partial => "name_of_template", :object => @object)
  page << "alert('javascript can be inserted here as well')"
end

关于ruby-on-rails - link_to_remote 与渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/205393/

相关文章:

ruby-on-rails - 无法在 Yosemite 上安装 Rails - 我觉得我已经尝试了一切

ruby-on-rails - 如何在 Ubuntu 11(在 VPS 服务器上)上使用 Apache2 安装Passenger 3.0.11?

javascript - rails : redirect_to:back not redirecting in spite of showing correct logs

ruby-on-rails - Rails Presenters 文件夹有什么用?

ruby-on-rails - Postgres 运算符(operator)无法使用 Paperclip 在 Rails 应用程序中工作

html - 如何移动搜索栏内的搜索按钮?

ruby-on-rails - 如何在CentOS 6上使用Ruby on Rails + Passenger和其他服务(例如phpmyadmin/bugzilla)

ruby-on-rails - 存储营业时间的正确方法,营业时间为午夜过后

ruby-on-rails - 无法在 Ruby on Rails 上安装 Puma gem

ruby-on-rails - Devise + OmniAuth(仅限 GoogleOAuth)== session_path 无方法错误