javascript - Rails 4 在 erb 中传递 javascript 变量

标签 javascript ruby-on-rails-4 erb

我想动态显示项目列表,但按行的项目数取决于屏幕的宽度。 Each_slice 内的数量取决于屏幕尺寸... 如果大屏幕:

<% @posts.each_slice(3) do |s| %>
  <div class="row">
    <% s.each do |p| %>  
     <div class="small-12 medium-6 large-4 columns">

如果是中等屏幕:

<% @posts.each_slice(2) do |s| %>
  <div class="row">
    <% s.each do |p| %>  
      <div class="small-12 medium-6 large-4 columns">

任何人都知道如何在

中添加 js 变量
each_slice("javascript vairable") 

谢谢

最佳答案

我找到了办法。我使用 Jquery 检查窗口的大小:( CoffeeScript )

n=2
if $('body').width() > 1025
  n = 3
if $('body').width() > 640
  $(".break:nth-child("+n+"n").addClass "row"

html.erb 看起来像这样:

<div class="row">
  <% @posts.each do |p| %>
    <div class="break">
      <div class="small-12 medium-6 large-4 columns">

然后使用 jquery 选择第 n 个 div 并添加一个类行。 它并不完美,但它有效。

关于javascript - Rails 4 在 erb 中传递 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23083144/

相关文章:

ruby-on-rails - 在 actionmailer 模板中呈现部分

javascript - 如何在声明之前在js中使用HTML元素?

javascript - rails 4 : Turbolinks redirect with flash

ruby-on-rails - 在 gem rails 上充当可标记功能不起作用

javascript - 如何将 javascript 变量传递到 js View 中的 erb 代码中?

javascript - 如何编写 .html.erb javascript 函数来隐藏特定页面的标题?

javascript - Web 字体加载的事件处理程序?

javascript - 选中复选框时,Google Sheets 将行记录到另一张工作表(同一本书)

Javascript 在所有数据表上切换分页

ruby-on-rails - rails 4 多对多通过数据透视表