【问题标题】:When does rails controller knows when to use serve embedded html or jsrails 控制器何时知道何时使用服务嵌入的 html 或 js
【发布时间】:2014-03-18 20:07:33
【问题描述】:

如果我在UsersController 中调用index 操作,Rails 控制器何时知道何时提供index.html.erbindex.js.erb?似乎使用属性remote: true 设置链接将引导我index.js.erb 而不是index.html.erb

link_to 'user#index',  remote: true (=> index.js.erb)
link_to 'user#index' (=> index.html.erb)

还有更多的场景吗?

rails 如何知道普通的get 请求和javascript get 请求之间的区别?

在提供嵌入式 javascript/html 文件时,有人可以澄清一下 Rails 控制器的默认设置吗?谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4


    【解决方案1】:

    这件事是由 Rails 控制器完成的。例如,如果你有索引控制器,并且你想用 html 和 js 来响应它

    def index
      respond_to do |format|
        format.html   ## respond to embedded html
        format.js     ## respond to js but it is called if remote data is passed (i.e if remote: true is set)
      end
    end
    

    如果你在你的索引页面(index.html.erb)中传递了remote

    <%= link_to "Show", show_path, remote: true %>
    

    然后它会响应索引js(即format.js)。您需要创建 index.js.erb 文件来为其定义逻辑。

    你也可以在这个guide 中看到。

    【讨论】:

      猜你喜欢
      • 2014-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 2017-12-25
      • 2015-12-10
      • 2015-11-24
      相关资源
      最近更新 更多