Как я могу предоставить своим компонентам Vue доступ к активным объектам записей в моем приложении Rails? - PullRequest
0 голосов
/ 04 апреля 2019

Я унаследовал проект, построенный на Rails, который использует Vue в качестве внешнего интерфейса. Все представления отображаются через Vue, но маршрутизация и модели следуют стандартному шаблону Rails MVC.

Я хочу визуализировать некоторые объекты, хранящиеся в активной записи, внутри компонента Vue.

Я также хочу создать форму в Vue с функциональностью CRUD с базой данных Active Record.

Когда я передаю переменные экземпляра из контроллера Rails в представление Vue, оно не работает.

#controller.rb
def index
  @projects = Project.all
end

#view.html.erb
<% @projects.each do |e| %>
  <div><%= e.information %></div>
<% end %>

Мне нужно напрямую вызвать активную запись внутри самого представления следующим образом:

#controller.rb
def index
end

#view.html.erb
<% @projects = Project.all %>
<% @projects.each do |e| %>
  <div><%= e.information %></div>
<% end %>

Итак, подведем итог: два вопроса, на которые мне нужно ответить:
1. Как передать объекты активной записи в компонент vue и отобразить его во внешнем интерфейсе?
2. Как я могу написать форму Vue для создания, редактирования и обновления объектов активной записи в базе данных?

1 Ответ

1 голос
/ 04 апреля 2019

Если вы действительно хотите использовать данные в VueJS, вам следует преобразовать данные в JSON и загрузить их в блок данных vuejs.

Таким образом, вы можете сделать что-то вроде

<div v-for="project in projects">{{project.information}}</div>

Затем вы можете обновить эти данные в vue, и это автоматически изменит текст на странице.

...