2016-09-14 5 views
5

अब मैं जेएस फाइलों को संकलित करने के लिए browserify-rails का उपयोग करके रेल ऐप (आउट रिएक्ट-रेल मणि के साथ) पर रूबी के शीर्ष पर रिएक्ट ऐप बना रहा हूं।रेल राउटर के ऊपर रिएक्ट राउटर का उपयोग कैसे करें (प्रतिक्रिया-रेल मणि का उपयोग नहीं कर रहे हैं)?

तो मैं हमें react-router करने की कोशिश की अनुप्रयोग के रूटर विन्यास के लिए

यह मेरा main.js

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import { Router, Route } from 'react-router'; 
import { browserHistory } from 'react-router'; 

/*Import Component*/ 

import DashBoard from './components/dashboard'; 
import Group from './components/dashboard'; 

/* 
* 
* Routes 
* 
* */ 

var routes = (
    <Router history={browserHistory}> 
     <Route path="/" component={DashBoard}/> 
     <Route path="/group" component={Group}/> 
    </Router> 
); 

ReactDOM.render(routes , document.querySelector('#main')); 

है लेकिन मैं

मिला जब मैं

http://my.app.dev/group 

करने के लिए जाना

No route matches [GET] "/group" (From Rails) 

तो मैं इसे कैसे ठीक कर सकता हूं और रेल राउटर के ऊपर रिएक्ट राउटर कैसे बना सकता हूं?

धन्यवाद!

उत्तर

15

आप एक पृष्ठ के लिए अपने सभी अनुरोध को रीडायरेक्ट करना चाहते हैं, कि आसान है:

# config/routes.rb 

root 'dash_board#index' 
get '*path', to: 'dash_board#index' 

तो रेल, अपने डैशबोर्ड # सूचकांक पृष्ठ पर घटकों प्रतिक्रिया प्रदान करेगा प्रतिक्रिया के रूटर वहाँ से इसे रोकने की होगी।

+0

क्या यह एक अच्छा अभ्यास है? क्या आप सभी कार्यों को गैर-एचटीएमएल बनाते हैं और प्रतिक्रिया में सभी रूटिंग को संभालते हैं? प्रतिक्रिया प्रतिक्रिया के उद्देश्य को सीखने की कोशिश कर रहा है, धन्यवाद! –

+0

"प्रथम स्तर" वाइल्डकार्ड मार्ग होने से कुछ रत्नों के साथ समस्याएं हो सकती हैं। आप अपने ऐप को माउंट करने के लिए क्या कर सकते हैं, उदाहरण के लिए नामस्थान में। उदाहरण के लिए: https: // yourdomain/a। यह गुस्से में लेकिन सुरक्षित है। – Daniel

संबंधित मुद्दे