如何从Ruby on Rails帮助方法返回javascript?

ben*_*ben 3 javascript ruby-on-rails helpers

我有一个Note模型,它可以包含图像链接附件(linktype ="image"或某些文本(linktype ="text).当我显示注释时,显示方法会根据链接类型而改变.例如:

<% @notes.each do |q| %>
    <h2 class="title"><%= q.name %></h2>
    <% if q.linktype == "other"%>
        <script type="text/javascript">some javascript</script>
    <% elsif q.linktype == "text"%>
        <%= q.text %>
    <% elsif q.linktype == "image"%>
       <img src="<%= q.link %>" />
    <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我必须在我的网站中以几个不同的视图显示注释,因此我不想多次重复查看代码,而是希望将它放在一个地方并从不同的视图中引用它.

我最初的想法是将显示代码放在帮助器中,如下所示:

<% @notes.each do |q| %>
    note_display(q.linktype, q.link)
<% end %>
Run Code Online (Sandbox Code Playgroud)

但是一些显示涉及javascript(第一个代码块中的第4行).我仍然可以使用辅助方法,即使我需要它来返回javascript吗?如果是这样,我该怎么办?谢谢阅读.

ale*_*dev 10

关于javascript没有什么特别之处,你可以从帮助者那里返回它,因为你会返回其他的html内容.我唯一建议的是使用帮助器来标记

image_tag(q.link)
javascript_tag("some javascript")
content_tag("h2", q.name, :class => "title")
Run Code Online (Sandbox Code Playgroud)