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