rails-通过javascript中的activerecord关系进行映射

rails-通过javascript中的activerecord关系进行映射,javascript,ruby-on-rails,Javascript,Ruby On Rails,我有一个edit.html.erb文件,其中的表单\u定义如下: <% content_for :javascript do %> <script type="text/javascript"> $(function() { setInitialUserSegments(); }); function setInitialUserSegments(){ <%= @text_message.text_message_segments.map do |s

我有一个
edit.html.erb
文件,其中的
表单\u定义如下:

<% content_for :javascript do %>

<script type="text/javascript">

$(function() {
  setInitialUserSegments();
});



function setInitialUserSegments(){

<%= @text_message.text_message_segments.map do |segment| %>

    createUserSegment('<%= segment.segment_type %>', '<%= segment.segment %>')

  <% end %>
}


</script>

<% end %>

在html文件的底部,我有如下javascript代码:

<% content_for :javascript do %>

<script type="text/javascript">

$(function() {
  setInitialUserSegments();
});



function setInitialUserSegments(){

<%= @text_message.text_message_segments.map do |segment| %>

    createUserSegment('<%= segment.segment_type %>', '<%= segment.segment %>')

  <% end %>
}


</script>

<% end %>
如何在javascript中遍历
@text\u message
的每个
text\u message\u段
,并调用该方法而不出错

这由
映射返回
打印结果

解决方案

<% @text_message.text_message_segments.each do |segment| %>
  createUserSegment('<%= segment.segment_type %>', '<%= segment.segment %>')
<% end %>

createUserSegment(“”,“”)
更换

  • map
    每个
    (不是强制性的,但因为您不需要结果,所以可以使用每个)
  • 原因:

  • 打印操作结果 及
  • map
    返回一个数组

  • 谢谢你!
    <% @text_message.text_message_segments.each do |segment| %>
      createUserSegment('<%= segment.segment_type %>', '<%= segment.segment %>')
    <% end %>