当前位置: 首页 > 面试题库 >

Rails:从另一个控制器渲染一个.js.erb吗?

夏侯星洲
2023-03-14
问题内容

如何.js.erb从不属于将要渲染到的视图的控制器中渲染?

例如: 如何create.js.erb从页面渲染页面视图post_controller

post_controller.rb

def create
    @post = Post.new(post_params)

    respond_to do |format|
      if @post.save
        format.html { redirect_to @post, notice: 'Post was successfully created.' }
        format.json { render action: 'show', status: :created, location: @post }
        format.js #{I think I need something in here?}
      else
        format.html { render action: 'new' }
        format.json { render json: @post.errors, status: :unprocessable_entity }
      end
    end
  end

问题答案:

似乎有几种方法可以实现此目的:

respond_to do |format|
    format.js { :location => path_to_controller_method_url(argument) }
end

您如何使用Ruby onRails响应控制器中的另一个js文件?

respond_to do |format|
    format.js {
       :template => "classrooms/create_differently.js.erb", 
       :layout => false
    }
end

在Rails中渲染红宝石的替代视图

respond_to do |format|
    format.js { render :file => "/path/to/save.js.erb" }
end


 类似资料:
  • 问题内容: 我有一个Rails应用程序尝试合并一些AJAX,在其中单击“新建”将打开一个模式窗口和一个表单。我希望能够显示验证错误(如果失败),因此在我的create动作中,我考虑过重新呈现new.js.erb文件。这是正确的方法吗? 我得到的结果是浏览器中的转义js文本,例如: 我尝试将各种选项放入渲染块,但没有运气。有小费吗? 问题答案: 最好的做法是同时支持AJAX和Non-AJAX调用,以

  • 问题内容: 我有一种通过remote => true将行添加到数据库的表单。然后,我想将新数据追加到表中,但是无法获取正确的视图来呈现。 到目前为止,它正在为新条目渲染整个show.html.erb页面,但是我想布局一个最小版本以作为添加。有没有一种快速的方法来告诉我的控制器,将其插入数据库后呈现什么视图?我想渲染我的部分名为_newly_added.html.erb 我的控制器 谢谢!! 编辑

  • 需要你的帮助!这可能是更多的设计角度,但我在我的应用程序中使用这个模式,所以想得到一个想法。 我的问题是直接或间接地从一个控制器访问另一个控制器。是否有任何优雅的设计方法来做到这一点,而不是在另一个控制器中保留一个控制器的引用。 提前致谢

  • 我有两个控制器和。我正在读一本书的内容。来自的txt文件,我希望将该文本放置在的文本区域中。代码在中运行并读取良好,但当打开中的窗口时,从中读取的内容。文本内容在文本区域中不可见。我的显示String mine包含内容,但它不显示在的文本区域中。请帮助任何人。非常感谢。 FXMLDocumentController代码 在中,有一个我删除了和,这样代码就可以工作了。

  • 问题内容: 我想从另一个控制器的函数中加载一个控制器,因为我集成到项目中的库我不想将其加载到控制器中,因为我想保持它的清洁和相关性。 我有默认的控制器,所以我可以加载,这样我怎么能从main函数访问控制器,所以我不必将控制器放在url中。 如果我可以从主控制器功能中加载控制器功能,我仍然愿意使用HMVC。 问题答案: 您无法从CI中的控制器加载控制器-除非您使用HMVC或其他工具。 您应该考虑一下

  • 我是JavaFx新手,因此我找不到解决问题的方法 假设我有以下应用程序结构: 在SecondController中显示文本的最佳/最佳方式是什么,从FirstController传递文本。我的意思是,我在中输入一个文本,然后按下按钮,按下按钮后,我希望文本显示在使用另一个控制器的中。我已经阅读了很多关于和可以用来解决这个问题的知识,但不幸的是,我无法实现一个有效的解决方案。 如果你们专家能在这方面