小编luz*_*zny的帖子

如何使用Ecto构建WHERE IN数组子句?

如何在给定的ID列表中查找帖子?

这不起作用:

posts = Post |> where(id: [1, 2]) |> Repo.all
Run Code Online (Sandbox Code Playgroud)

Rails中的示例:

Post.where({ id: [1, 2]})
# SELECT * FROM posts WHERE id IN (1, 2)
Run Code Online (Sandbox Code Playgroud)

elixir ecto phoenix-framework

28
推荐指数
3
解决办法
1万
查看次数

如何在使用angular_devise注销之前保持全局当前用户?

如何创建全局可访问的服务,currentUser()只在页面加载时调用服务器一次,如果用户登录然后保留它并向控制器或状态提供数据直到注销?现在我在许多州或控制器中解决了很多次currentUser(),我在docs中发现:authparseresponse它可以自己做服务,但我不知道如何以正确的方式处理这个问题.

例如在ui-router中我有两个服务器调用,只有在加载页面时才足够:

.state('login', {
  url: '/login',
  templateUrl: 'auth/_login.html',
  controller: 'AuthCtrl',
  onEnter: [
    '$state', 'Auth',
    function($state, Auth) {
      Auth.currentUser().then(function() {
        $state.go('home');
      });
    }
  ]
})
.state('dashboard', {
  url: '/dashboard',
  templateUrl: 'dashboard.html',
  onEnter: [
    '$state', 'Auth',
    function($state, Auth) {
      Auth.currentUser().then(function(user) {}, function(err) {
        $state.go('home');// user not logged in
      });
    }
  ]
})
Run Code Online (Sandbox Code Playgroud)

或者每次在NavController中调用下一个服务器:

app.controller('NavController', [
  '$state', '$scope', 'Auth', function($state, $scope, Auth) {
    $scope.signedIn = Auth.isAuthenticated;
    $scope.logout = Auth.logout; // logout function
    Auth.currentUser().then(function(user) {
      $scope.user = user; …
Run Code Online (Sandbox Code Playgroud)

javascript devise angularjs angular-services angular-ui-router

19
推荐指数
2
解决办法
6417
查看次数

如何使用webpack从node_modules加载静态CSS文件?

我不知道如何使用webpack从node_modules libs加载任何CSS,例如我安装了传单,每次加载尝试都leaflet/dist/leaflet.css失败了.

你能举例说明如何从node_modules加载静态样式吗?

我目前的webpack配置如下.另外我正在使用extract-text-webpack-pluginsass-loader我的项目scss文件运行良好,我也css-loader有,我有解决静态CSS文件或添加一些东西stylePathResolves

//require('leaflet/dist/leaflet.css');

var ExtractTextPlugin = require("extract-text-webpack-plugin");
var webpack = require("webpack");
var path = require('path');

var stylePathResolves = (
  'includePaths[]=' + path.resolve('./') + '&' +
  'includePaths[]=' + path.resolve('./node_modules')
)

module.exports = {
  entry: ".js/app.js",
  output: {
    path: "./static/js",
    filename: "app.js"
  },
  module: {
    loaders: [{
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: 'babel'
      }, {
        test: /\.scss$/,
        loader: ExtractTextPlugin.extract(
          'style',
          'css' + '!sass?outputStyle=expanded&' + stylePathResolves
        )
      }
    ]
  },
  plugins: …
Run Code Online (Sandbox Code Playgroud)

javascript css webpack webpack-style-loader

15
推荐指数
1
解决办法
1万
查看次数

如何使用ui-router仅在某些页面上附加导航栏?

如何在除登陆页面之外的每个页面上显示导航栏,以便不必在每个所需页面上附加导航栏文件?现在我在主应用程序布局上附加了导航栏,应该如何处理以保持干燥?

演示(每页都有导航栏):

var App = angular.module('app', ['ui.router']);
App.config(function($stateProvider, $urlRouterProvider) {
  $stateProvider
    .state('home', {
      url: '/home',
      templateUrl: 'home.html'
    })
    .state('about', {
      url: '/about',
      templateUrl: 'about.html'
    }).state('landingpage', {
      url: '/landingpage',
      templateUrl: 'landingpage.html'
    });
  $urlRouterProvider.otherwise('/home');
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" type="text/css" />

<div ng-app="app">
  <div ng-include="'navbar.html'"></div>

  <div class="container">
    <div ui-view></div>
  </div>

  <script type="text/ng-template" id="navbar.html">
    <nav class="navbar navbar-inverse" role="navigation">
      <div class="navbar-header">
        <a class="navbar-brand" ui-sref="landingpage">LandingPage</a>
      </div>
      <ul class="nav navbar-nav">
        <li><a ui-sref="home">Home</a></li>
        <li><a ui-sref="about">About</a></li>
        <li ng-hide="signedIn()"><a href="/login">Log In</a></li>
        <li ng-show="signedIn()"><a ng-click="logout()">Log Out</a></li>
      </ul> …
Run Code Online (Sandbox Code Playgroud)

javascript twitter-bootstrap angularjs angularjs-ng-include angular-ui-router

14
推荐指数
1
解决办法
8957
查看次数

如何通过id与指令中的dom类元素绑定数组元素?

我正在尝试page_elements使用.grid-cell字符串html中的适当索引绑定数组,以便它将显示在页面上而不是在我的指令中.我存储给定单元格元素的索引,然后过滤它们以检索匹配的page_elements对象.

但是,我无法摆脱ng-repeat网格中的冗余,其中有一个元素.已删除的元素将替换为空对象{},但应将其拼接,以便将网格元素保持在正确的位置.移动的元素应该能够放入其他网格单元格中.如果索引被正确分配,那么指令应该使用angular-drag-and-drop-lists,如何修复它?

如何在给定网格中仅ng-repeat匹配匹配page_elements一次?例如,现在page_elements在那里grid_id: 2的显示三次ng-repeat在第三格栅.如何删除永久页面元素对象并将单元格元素保存在正确的位置?在当前的解决方案中,拖放机制也被打破了.

当前代码片段和jsfidde:

var app = angular.module('app', ['dndLists']);
app.controller('homeCtrl', function ($scope) {
    $scope.html_string = "<div class='container'><div class='row'><div class='col-xs-12'><div class='row'><div class='col-xs-4 grid-cell'></div><div class='col-xs-4 grid-cell'></div><div class='col-xs-4 grid-cell'></div></div><div class='row'><div class='col-xs-4 grid-cell'></div><div class='col-xs-4 grid-cell'></div><div class='col-xs-4 grid-cell'></div></div></div></div></div>";

    $scope.page_elements = [{
        "grid_id": 0,
            "position": 0,
            "snippet": "<h4>First Grid 0</h4>",
        "template": "snippet"
    }, {
        "grid_id": 0,
            "position": 1,
            "snippet": "<h2>Second Grid 0</h2>",
        "template": …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

13
推荐指数
1
解决办法
2223
查看次数

当光标在右列上方时如何滚动左列?

当我滚动地图画布时,如何向上和向下滚动左列?

Map已禁用滚轮传播,如果可能,只有CSS才能完成它.我试图#map_canvas用flex属性包装其他div并将map设置为绝对位置和100vh/vw,但它与轮泡没有区别.

$(document).ready(function() {
  var post = "<h3>Post title</h3><div>Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</div><hr>";
  var i = 0;
  while (i < 10) { $('#left_container').append(post); i++; }

  var options = {
    zoom: 10,
    scrollwheel: false,
    center: new google.maps.LatLng(49, 17)
  };
  var map = new google.maps.Map($('#map_canvas')[0], options);

  $("#map_canvas").scrollLeft();
});
Run Code Online (Sandbox Code Playgroud)
.flexbox-container {
  display: -ms-flex;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  height: 100vh;
}
.flexbox-container #left_container {
  flex: 1; …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery css3 flexbox

11
推荐指数
1
解决办法
454
查看次数

如何在指令链接中访问控制器功能?

如何从指令链接访问指令控制器功能?传递给链接的Bellow控制器是空的,我想在其中获取show()hide()函数.

我目前的指示:

app.directive('showLoading', function() {
  return {
    restrict: 'A',
    // require: 'ngModel',
    scope: {
      loading: '=showLoading'
    },
    controller: function($scope, $element) {
      return {
        show: function() {
          alert("show");
        },
        hide: function() {
          alert("hide");
        }
      };
    },
    link: function($scope, $element, $attrs, controller) {
      $scope.$watch('loading', function(bool) {
        if (bool) {
          controller.show();//undefined
        } else {
          controller.hide();
        }
      });
    }
  };
});
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-directive angularjs-scope

9
推荐指数
1
解决办法
1万
查看次数

如何创建全局配置文件?

是否有可能使用在类中可见的全局变量创建配置文件?与此类似的东西:

config.php文件:

$config['host_address'] = 'localhost';
$config['username '] = 'root';
$config['password'] = 'root';
$config['name'] = 'data';
Run Code Online (Sandbox Code Playgroud)

db.php中:

include('config.php');
class DB
{
    private $_config = array($config['host_address'], $config['username'], $config['password'], $config['name']);
    ...
Run Code Online (Sandbox Code Playgroud)

目前的财产:

private $ _config = array();
Run Code Online (Sandbox Code Playgroud)

我不想通过构造函数传递给我的Singleton数据库连接器:

DB::getInstance(array('localhost', 'root', 'root', 'data'));
Run Code Online (Sandbox Code Playgroud)

php mysql static configuration-files

8
推荐指数
2
解决办法
2万
查看次数

如何使用Geo库创建有效的Ecto Model变更集?

我正在尝试使用Geo库通过Phoenix模型更改集存储Geo.Point.我的参数是:{coordinates: [49.44, 17.87]}或者更喜欢{coordinates: {latitude: 49.44, longitude: 17.87}}

在iex控制台中,我试过:

iex(5)> changeset = Place.changeset(%Place{}, %{coordinates: [49.44, 17.87]})
%Ecto.Changeset{action: nil, changes: %{}, constraints: [],
 errors: [coordinates: "is invalid"], filters: %{}
 model: %Myapp.Place{__meta__: #Ecto.Schema.Metadata<:built>,
  coordinates: nil, id: nil, inserted_at: nil, updated_at: nil}, optional: [],
 opts: [], params: %{"coordinates" => [49.445614899999995, 17.875574099999998]},
 repo: nil, required: [:coordinates],
Run Code Online (Sandbox Code Playgroud)

所有其他尝试都以Poison.Parser错误结束.

应该从客户端看起来如何创建有效的变更集?

模型:

defmodule MyApp.Place do
  use MyApp.Web, :model

  schema "place" do
    field :coordinates, Geo.Point

    timestamps
  end

  @required_fields ~w(coordinates)
  @optional_fields ~w()

  def changeset(model, params …
Run Code Online (Sandbox Code Playgroud)

postgis elixir ecto phoenix-framework

7
推荐指数
1
解决办法
1278
查看次数

如何从List创建许多GenServer进程并存储在其中的地图数据?

在这两种方法中,我坚持如何通过给定的一组id或组映射进程,然后将存储的struct映射到过滤数据.

%{group => [users]} 实现.

我意识到组将与用户相反,因此我创建了一个使用组名作为键的处理模块.

恐怕在未来还会有在几组很多用户,所以我的问题是我怎么可以拆分当前UserGroupServer模块,以保持按组名称标识许多分离的过程?我想保留当前模块的功能,在init进程中按组列表,另外我不知道如何映射每个进程以通过user_id获取组?

目前我lib/myapp.ex通过在子树列表中包含模块在Phoenix中只启动一个进程,因此我可以UserGroupServer直接在Channels中调用.

defmodule UserGroupServer do
  use GenServer

  ## Client API
  def start_link(opts \\ []) do
   GenServer.start_link(__MODULE__, :ok, opts)
  end

  def update_user_groups_state(server, data) do
    {groups, user_id} = data
    GenServer.call(server, {:clean_groups, user_id}, :infinity)
    users = Enum.map(groups, fn(group) ->
      GenServer.call(server, {:add_user_group, group, user_id}, :infinity)
    end)
    Enum.count(Enum.uniq(List.flatten(users)))
  end

  def get_user_groups(server, user_id) do
    GenServer.call(server, {:get_user_groups, user_id})
  end

  def users_count_in_gorup(server, group) do
    GenServer.call(server, {:users_count_in_gorup, group})
  end

  ## Callbacks (Server API)

  def init(_) do
    {:ok, …
Run Code Online (Sandbox Code Playgroud)

elixir erlang-otp gen-server phoenix-framework

7
推荐指数
1
解决办法
662
查看次数