Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将Rails页面更改为UI.router页面_Ruby On Rails_Angularjs_Angular Ui Router_Single Page Application - Fatal编程技术网

Ruby on rails 将Rails页面更改为UI.router页面

Ruby on rails 将Rails页面更改为UI.router页面,ruby-on-rails,angularjs,angular-ui-router,single-page-application,Ruby On Rails,Angularjs,Angular Ui Router,Single Page Application,我正在进行的当前项目有一半是用angularjs编写的,而大多数关键部分是用Rails编写的 可以使用angular而不重写所有rails页面吗 最终,Rails已经在后端处理所有业务逻辑。我想要的只是一种使用angular来呈现数据的简洁方法,而无需重新加载页面来获取Rails呈现的模板 因此,可以通过将my application.html.erb更改为一行代码来获取部分页面: <%= yield %> 现在,如果我重新加载url,rails只返回与控制器中应该处理请求的特

我正在进行的当前项目有一半是用angularjs编写的,而大多数关键部分是用Rails编写的

可以使用angular而不重写所有rails页面吗

最终,Rails已经在后端处理所有业务逻辑。我想要的只是一种使用angular来呈现数据的简洁方法,而无需重新加载页面来获取Rails呈现的模板

因此,可以通过将my application.html.erb更改为一行代码来获取部分页面:

<%= yield %>

现在,如果我重新加载url,rails只返回与控制器中应该处理请求的特定业务逻辑相关的页面部分

不,我需要做的是 -使用“角度”渲染这些页面的页脚和页眉 -处理页面重新加载逻辑,以便在整个页面重新加载时,它应该加载单页应用程序,然后呈现当前视图。

根据博客:,下面是一些似乎有效的方法

若请求具有partial=true查询参数,服务器将返回不带页眉和页脚的partial

helper_method  :should_render_partial?, .... 

def should_render_partial?
    params[:partial].eql?("true")
end
在模板中:

<% unless should_render_partial? %>
    <%= render partial: 'layouts/angular_app_template' %>
<% end %>

<% if should_render_partial? %>
    <%= yield %>
<% end %>

您可以从rails中检索部分内容并将其包装在ui.Router中的路由下,这意味着将重写所有rails页面以返回不带页眉和页脚的内容吗?您可能不需要这样做,请检查appliction.erb.html,在那里您可以定义一个逻辑来有条件地返回页眉和页脚。然后我可以在视图中创建角度编译字符串,有道理这件事被搁置了@罗伯不知道你为什么会认为它缺乏研究。
$stateProvider.state('home', {
  url: '/home',
  templateUrl: function(){
    return "/home?partial=true";
  },
});