Ruby on rails 3 使用:layout=>;从控制器渲染部分!request.xhr?返回缺少的模板?

Ruby on rails 3 使用:layout=>;从控制器渲染部分!request.xhr?返回缺少的模板?,ruby-on-rails-3,Ruby On Rails 3,我克隆并调整了它,在ajax请求中呈现部分时遇到了一些问题,在日志中,我看到了registrations_controller.rb(designe)中的有罪行 类注册控制器thankyou',:layout=>false)和&return)if request.xhr? 使用资源响应:位置=>在为(资源)注册路径之后 其他的 resource.update_属性(:encrypted_password,nil)#确保没有密码 登录后,会话数据过期! (render(:partial=>than

我克隆并调整了它,在ajax请求中呈现部分时遇到了一些问题,在日志中,我看到了registrations_controller.rb(designe)中的有罪行

类注册控制器thankyou',:layout=>false)和&return)if request.xhr?
使用资源响应:位置=>在为(资源)注册路径之后
其他的
resource.update_属性(:encrypted_password,nil)#确保没有密码
登录后,会话数据过期!
(render(:partial=>thankyou',:layout=>false)和&return)if request.xhr?
使用资源响应:位置=>在不活动之后注册路径(资源)
结束
其他的
清除密码资源
呈现:部分=>'email\u capture',:action=>:new,:layout=>!request.xhr**
结束
结束
受保护的
非活动后的def注册路径(资源)
“/thankyou.html”
结束
注册后的def路径(资源)
将\重定向到根\路径
结束
结束
返回的错误消息如下:

ActionView::缺少模板-缺少部分

使用{:locale=>[:en],:formats=>[:html],:handlers=>[:erb,:builder, :咖啡,:火腿]}。搜索:* “/Users/Davide/Documents/Jobsite/rails-prelaunch-signup-1单击/app/views” *“/Users/Davide/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/designe\u invitable-1.1.8/app/views” *“/Users/Davide/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/devise-2.2.4/app/views”

有趣的是,如果我删除:layout=>=request.xhr?参数找到部分,但页面刷新,并且丢失所有样式表和其他资产

你知道我该从哪里开始找吗


谢谢

我也克隆和修改了那个项目,遇到了几乎相同的问题。对我来说,这个问题会在第二次保存错误的电子邮件地址失败后出现,但结果是一样的

通过使用以下问题/答案中的上下文和信息:

我能够做出改变,解决了我的问题。在_email_capture.html.erb中,将
:remote=>true,
添加到行的简单表单中。就我而言,整个修订行是:

<%= simple_form_for resource, :as => resource_name, :remote => true, :url => registration_path(resource_name) , :html => {:class => 'form-inline'} do |f| %>
resource\u name,:remote=>true,:url=>registration\u path(resource\u name),:html=>{:class=>'form inline'}do | f |%>
希望这对你也有帮助

<%= simple_form_for resource, :as => resource_name, :remote => true, :url => registration_path(resource_name) , :html => {:class => 'form-inline'} do |f| %>