小编Mar*_*tin的帖子

Ril未定义的方法错误为nil:NilClass

所以在我的rails应用程序中,我有不同权限的用户.当有人登录时,一切都很完美.但是,当没有人登录时,我收到以下错误:

Undefined method 'editor?' for nil:NilClass

def require_editor
    redirect_to '/error' unless current_user.editor? || current_user.admin?
end
Run Code Online (Sandbox Code Playgroud)

我想我明白为什么会发生这种情况:因为没有人登录,Rails正试图弄清楚他们有什么角色,并且因为没有人没有登录它的角色,Rails不知道它是否应该显示页面与否.

我的问题是:如何为未登录的人创建默认角色,并将其发送到错误页面,表明他们没有权限?

ruby ruby-on-rails

1
推荐指数
1
解决办法
126
查看次数

如何在Ruby on Rails中使用Javascript?

我想我从根本上误解了如何在我的rails应用程序中实现Javascript.我的理解是你将Javascript抛出到你的application.js文件中,然后你可以使用DOM来引用元素jQuery,以便创建一个交互式网页.

我刚检查了所有代码,看起来很干净(如果我错了,请在下面发布).我的想法是我可能把我的Javascript放在错误的地方,或者我在某个地方错过了依赖?我发现其他帖子对我来说几乎无益.如何将Javascript合并到我的应用程序中?

的application.js

function main() {
  $('.answers-box').hide();
  $('.qaa-box').on('click', function() {
    $(this).next().slideToggle(400);
  });
}
$(document).ready(main());
Run Code Online (Sandbox Code Playgroud)

page.html.erb

<div class="qaa-box">
  <h4>Lorem ipsum dolor sit amet, consectetur adipiscing elit</h4>
  <p class="answers-box">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit
  </p>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript ruby jquery ruby-on-rails

1
推荐指数
1
解决办法
8094
查看次数

如何在ruby中多次使用动态变量

所以我试图创建动态变量,然后再使用它们而不必输入全名.我制作的测试代码如下

players = [1, 2, 3, 4]

players.each |player|
  instance_variable_set("@player_#{player}_hand", "foo")
  instance_variable_set("@player_#{player}_value", "bar")
}

puts @player_1_hand # => foo
puts @player_3_value # => bar

players.each { |player| 
puts "@player_#{player}_hand" 
}

# => @player_1_hand
# => @player_2_hand
# => @player_3_hand
# => @player_4_hand
Run Code Online (Sandbox Code Playgroud)

我想动态地调用和/或更新这些变量,但是在初始化之后我不知道该怎么做.我发现的文档更令人困惑而不是有用.有人可以解释如何正确使用这些?

ruby

1
推荐指数
1
解决办法
76
查看次数

标签 统计

ruby ×3

ruby-on-rails ×2

javascript ×1

jquery ×1