我对第二个视图的请求没有显示任何内容

时间:2017-05-25 20:17:37

标签: ruby-on-rails ruby webpack vue.js axios

我在rails上使用ruby作为框架,使用vue.js来显示de数据以及对API的请求我正在使用axios。

首先我创建项目:

rails new myapp --webpack=vue

在rails中创建了一个文件夹:

app/javascript
└── packs
    ├── app.vue
    └── hello_vue.js

app.vue:

<template>
  <div id="app">
    <ul v-for="result in results">
      <li>{{result.name}}</li>
    </ul>
    <!-- <p>{{ results.name}}</p> -->
  </div>
</template>

<script>
export default {
  data: {
    results: []
  },
  mounted(){
    axios.get("xxxxx")
    .then(response => {
      this.results = response.data
    })
  }
}
</script>

hello_vue.js:

import Vue from 'vue'
import App from './app.vue'

document.addEventListener('DOMContentLoaded', () => {
  document.body.appendChild(document.createElement('hello'))
  const app = new Vue(App).$mount('hello')

  console.log(app)
})

允许我在视图中插入信息,如:

<%= javascript_pack_tag 'hello_vue' %>

并显示信息。

但是当我尝试用这样的新文件创建一个新文件夹时:

app/javascript
    └── datos
        ├── app2.vue
        └── hello2_vue.js

APP2:

<template>
  <div id="app2">
    <ul v-for="result in results">
      <li>{{result.name}}</li>
    </ul>
  </div>
</template>

<script>

export default {
  data: {
    results: []
  },
  mounted(){
    axios.get("xxxxxxxxxxxx")
    .then(response => {
      this.results = response.data
    })
  }
}
</script>

hello2:

import Vue from 'vue'
import App2 from './app2.vue'

document.addEventListener('DOMContentLoaded', () => {
  document.body.appendChild(document.createElement('hello2'))
  const app2 = new Vue(App2).$mount('hello2')

  console.log(app2)
})

他们加载文件:

<%= javascript_datos_tag 'hello2_vue' %>

显示此错误:

undefined method `javascript_datos_tag' for #<#<Class:0x0055a86f9b0218>:0x007fd3cf6d9958>
Did you mean?  javascript_cdata_section
               javascript_tag
               javascript_pack_tag

1 个答案:

答案 0 :(得分:0)

很抱歉,我只是检查我的服务器领班,显然每次我在foreman服务器中添加新的视图和请求时都需要重新启动。

$foreman start