0

我正在清理我的 Rails 应用程序代码。我正在使用Raty-gem我的评分系统。为了渲染一个#average_rating我在特定视图中使用一个脚本块(在一些教程中选择了这个)。但是由于我#average_rating在超过 6 种不同的视图中使用,我希望我可以更有效地做到这一点。我已经尝试使用 HelperMethod,但我猜它不接受“javascript”。

脚本块:

<script>
$('#average_rating').raty({
    path: '',
    readOnly: true,
    score: <%= @project.average_rating %>
});
</script>

在 Rails 中最干净的方法是什么?

4

2 回答 2

0

如果你有很多数据要传递给 JavaScript,并且你想将你的 js 代码保存在 js 文件中,你可以使用Gon gem

于 2015-11-25T12:57:50.160 回答
0

是的,使用content_forrails 提供的帮助方法定义 JavaScript 块的方式更简洁。您可以在命名块内定义代码片段,content_for并且可以在视图中的任何位置使用。例如

<% content_for :rating_code do %>
  $('#average_rating').raty({
    path: '',
    readOnly: true,
    score: <%= @project.average_rating %>
  });
<% end %>

请参阅此处的文档:http: //apidock.com/rails/ActionView/Helpers/CaptureHelper/content_for

于 2015-11-25T12:31:29.543 回答