Fork me on GitHub
#clojure-russia
<
2016-10-07
>
maxim00:10:04

@kuzmin_m посмотри buddy, мне пока хватает для моего проекта я сделал файлик access_rules.clj со всеми правами в одном месте и подключил его через middleware

kuzmin_m06:10:57

@mkaschenko спасибо можешь показать access_rules.clj ?

maxim06:10:39

@kuzmin_m примерно так

maxim06:10:14

manager - это как current_user в rails

kuzmin_m06:10:45

немного похоже 😃

kuzmin_m06:10:16

а есть что-то похожее на мой вариант?

maxim06:10:17

то, что я запостил 🙂 можно еще по типу запроса разделить, в итоге можно каждый action описать

kuzmin_m06:10:20

а что бы не привязываться к ring и http? т.е. политики сами по себе и про ring ничего не знают

maxim06:10:53

ммм...

maxim06:10:36

(defn index? [user] 
  (= (:name user) “Guest”)

Roman Liutikov09:10:54

Привет. Что нынче используют для роутнига SPA в CLJS? Имею в виду не связку типа bidi + pushy, а что-то типа React Router в JS, что умеет рендерить.

niwinz09:10:54

On the end of readme you can found the FAQ where is the rationale...

Roman Liutikov09:10:56

@niwinz это практически то же самое) хотелось бы набросать структуру роутов с компонентами к каждому роуту, понимаешь?)

niwinz10:10:30

ah, ponimayu

Roman Liutikov10:10:43

@niwinz ну вот я что-то подобное ищу, но видать в cljs ничего нету

savelichalex10:10:49

@roman01la забиндить react router да и все?

delaguardo10:10:09

например заиспользовать director - https://github.com/flatiron/director ксли нет отвращения к js-либам, конечно же

Roman Liutikov10:10:15

@savelichalex скорее всего да

Roman Liutikov10:10:06

@delaguardo director это тот же bide

delaguardo10:10:32

действительно) не знал про него, сори

misha10:10:24

@roman01la в {} положи 🙂

Roman Liutikov10:10:12

Вот такое очень удобно использовать

<Router>
    <Route path="/" component={App}>
      <Route path="about" component={About}/>
      <Route path="users" component={Users}>
        <Route path="/user/:userId" component={User}/>
      </Route>
      <Route path="*" component={NoMatch}/>
    </Route>
  </Router>

misha10:10:48

(def routes {"/" App, "/about" About, ...})
(defn route [path]
  (get routes path NoMatch))
как-то так

misha10:10:55

ну короче, чтобы маппинг был датастракчей, а не jsx-реакт-компонентой

savelichalex10:10:57

ну нет, там то вложенные

savelichalex10:10:12

есть лэйауты

misha10:10:20

ну {:a {:b}}

misha10:10:31

а About как-то от App зависит? или вложенность только path касается?

savelichalex10:10:48

ну About будет children для App

savelichalex10:10:59

если роут совпал конечно же

misha10:10:00

и как это проявляется?

misha10:10:02

как я понял, если path="/" - на всю страницу отрендерится App а если "/about" - то About, опять же на всю страницу, так?

savelichalex10:10:24

внутри App будет About

savelichalex10:10:35

если конечно ты этого хочешь

misha10:10:57

ну тогда тут неясно, как именно "внутри"

savelichalex10:10:26

@roman01la в общем проще забиндить потому что там контекст ж, и не придется с link сидеть выдумывать

misha10:10:28

посмотрел на bide - одобряю kappa

Roman Liutikov11:10:13

@savelichalex да, согласен. С контекстом работать в cljs обертках очень неудобно

Roman Liutikov11:10:52

@misha > ну тогда тут неясно, как именно “внутри” Отрендерится App и получит в аргументах About. Это действительно удобно для стрктурирования экранов в приложениях.