【问题标题】:Start ember in a specific route在特定路线中启动 ember
【发布时间】:2013-05-09 08:49:32
【问题描述】:

我正在尝试在 ruby​​ on rails 上集成 emberjs,

https://github.com/emberjs/ember-rails

rails generate ember:install --head

好的,现在 emberjs 正在工作,但现在我怎样才能让 emberjs 仅在特定路线上工作。

我可以在 Rails 中做到这一点:

root to: static/index

现在我想让 ember 启动并只在帖子上工作,因为在我安装 gem 的那一刻只能在应用程序上工作。

【问题讨论】:

    标签: javascript ruby-on-rails ember.js ember-router


    【解决方案1】:

    我不知道您的代码,但这可能是您正在搜索的内容:

    App.Router.map(function() {
      this.resource('posts');
    });
    
    App.IndexRoute = Ember.Router.extend({
      redirect: function() {
        this.transitionTo('posts');
      }
    });
    

    这将导致导航到您的 ember 应用程序的 / URL 将立即转换到 /posts 路由。

    有关在 ember 中重定向的更多信息,您可以查看docs

    希望对你有帮助

    【讨论】:

    • 问题仍然存在,我想要例如有 10 个静态页面(不是 emberjs,只是 ruby​​ rails)然后是一个登录页面,用户登录时,他们访问一个使用 emberjs 的校园页面,对其他页面使用 ember 毫无意义,所以我只想在该校园路线上启动 emberjs
    • @Nonyck 这可能是您的网络服务器应该管理的东西吗?
    • 这就是为什么我在特定路线上放置(并被删除)ruby rails start emberjs
    【解决方案2】:

    几天前我遇到了相反的情况,想在 ember 之外提供一页。

    我在我的router.rb 中创建了一个新的命名空间,并在我的views/layout/ (api.html.erb) 中创建了一个新的布局文件,作为我所有非 ember 页面的基础。在很大程度上,它是我的 application.html.erb 的副本。

    然后您可以在适当的控制器中指定它们需要使用其他布局文件。

    class Api::ShareController < ApplicationController
      layout 'api'
    
      def index
      end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      相关资源
      最近更新 更多