![](/img/trans.png)
[英]How to resolve in No4j and Rails 4 Neo4j::ActiveNode::Labels::RecordNotFound
[英]Neo4j create multiple relationships with ActiveNode and Bootstrap Multiselect in Rails
我正在玩Neo4j和Rails,并创建了一个应用程序,该应用程序使用ActiveNode创建新的节点和关系。 这是我当前的数据模型:
(company1)-[:RESEARCHING]->(market1)
(company2)-[:RESEARCHING]->(market2)
我有一个带有下拉菜单的公司页面,其中包含“ market1”和“ market2”。 创建公司时,可以选择“ market1”,然后在该公司与“ market1”之间创建新的关系。 如果更新公司,则可以在下拉列表中更改项目,它将删除旧的关系并创建一个新的关系。
我想做的就是将此下拉菜单连接到Bootstrap Multiselect,这样我就可以从下拉菜单中选择多个市场来立即创建多个关系。 像这样:
(market2)<-[:RESEARCHING]-(company1)-[:RESEARCHING]->(market1)
我已经弄清楚了大部分内容,但是Bootstrap菜单可以正常工作,只是它不会更新数据库。 我只是不知道在提交时添加关系的这段代码在哪里:
@company.market.try(:id)
(至少我认为是这样。)有关如何执行此操作的任何想法? 提前致谢!
这是我的代码:
<!-- Current working form. -->
<div class="field">
<%= f.label :market %><br>
<%= f.select "market",
options_from_collection_for_select(Market.all, "id", "name", @company.market.try(:id)) %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<!-- The form I would like to create. -->
<form id="form1">
<div style="padding:20px">
<select id="market" multiple="multiple">
<% @markets.each do |market| %>
<option name="<%= market.name %>" value="<%= market.name %>"><%= market.name %></option>
<% end %>
</select><br><br>
<div class="actions" id="submit" value="Submit">
<%= f.submit %>
</div>
<script type="text/javascript">
$(function() {
$('#market').multiselect({
includeSelectAllOption: true
});
$('#submit').click(function() {
})
});
</script>
</div>
</form>
请耐心options_from_collection_for_select
,我之前从未使用过options_from_collection_for_select
。 看起来只需要知道表单是否已经选择了该表单,因此我认为最好首先弄清楚该表单,然后对照该列表检查每个市场。 API文档看起来像我们可以提供的proc,所以也许是这样吗?
<% @selected_markets = @company.markets(:m).pluck('m.uuid') %>
<%= f.select "market",
options_from_collection_for_select(Market.all, "id", "name", proc { |market| @selected_markets.include?(market.uuid) }) %>
假设您在Company
模型上有一个markets
协会。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.