Ruby on rails 格式::js问题的简单表单

Ruby on rails 格式::js问题的简单表单,ruby-on-rails,simple-form-for,Ruby On Rails,Simple Form For,以下是我的路线: namespace :management do resources :posts do resources :articles end end 这是我简单的aricle形式 <%= simple_form_for [@post, @article], :url => management_post_articles_path(@post, @article, :format => :js), :remote => true do

以下是我的路线:

namespace :management do
  resources :posts do 
    resources :articles
  end
end
这是我简单的aricle形式

<%= simple_form_for [@post, @article],
  :url => management_post_articles_path(@post, @article, :format => :js), :remote => true do |f| %>
这里的问题是提交此表单时,它需要的是create.rjs文件而不是create.js.erb

这就是我得到的

ActionView::MissingTemplate - Missing template management/articles/create, application/create with {:locale=>[:en], :formats=>[:rjs], :handlers=>[:erb, :builder, :haml, :prawn, :prawn_dsl, :prawn_xxx, :rjs]}. Searched in:
有人能帮帮我吗


提前感谢您回答您的问题:

RJS是一个模板(类似于html.erb文件),用于生成执行的JavaScript 浏览器响应AJAX请求时在eval块中。它有时被用来(错误地?)描述Rails提供的JavaScript、原型和脚本帮助程序

只要您使用:js格式调用控制器方法,答案就是相同的格式

在视图中呈现纯JS文件没有任何意义,只要它不会产生任何效果。你能解释一下你想渲染什么吗

我不知道为什么这个不起作用,但你可以:

respond_to do |format|
  format.js # actually means: if the client ask for js -> return file.js
end

在控制器内部解决该问题。

添加
render_rjs(第页,“management/articles/create.js.erb”)
to create.rjs让我在create.js.erb中编写了我的js代码

为create添加了控制器操作。添加了我的create操作。我认为错误消息是自我解释的。我在问为什么要搜索create.rjs而不是create.js。erb基本上我是一个ajax表单,如果成功,我必须显示flash消息,或者使用错误消息。我在这里面临的问题是,我想在create.js.erb文件中编写js代码,而不是在create.rjs文件中。我对posts表单做了同样的操作,它将我重定向到create.js.erb文件。但我不知道为什么在这篇文章的表单中,它会将我重定向到create.rjs文件。这种行为确实很奇怪。编辑以添加解决方案。即使这样也不起作用。。最后从rjs文件呈现js.erb
respond_to do |format|
  format.js # actually means: if the client ask for js -> return file.js
end