我创建了以下内容(这是更多代码的一部分,但只有这一行有问题):
if number_to_test % divisor == 0 then number_of_divisors+= 1 end
Run Code Online (Sandbox Code Playgroud)
我想缩短它
if number_to_test % divisor == 0 { number_of_divisors+= 1 }
Run Code Online (Sandbox Code Playgroud)
但我明白了
syntax error, unexpected '{', expecting keyword_then or ';' or '\n'
if number_to_test % divisor == 0 { number_of_divisors+= 1 }
^
syntax error, unexpected '}', expecting keyword_end
Run Code Online (Sandbox Code Playgroud)
我以为我可以将长格式改为{}
你能告诉我正确的语法(如果可能的话)吗?
也许我只是想做结束块而不是if语句?
我希望我的欢迎控制器使用不同的布局:
class WelcomeController < ApplicationController
def index
if signed_in?
layout 'default'
else
layout 'welcome'
end
render 'welcome/index'
end
end
Run Code Online (Sandbox Code Playgroud) 我无法测试我的登录信息......'我无法注销(还没有注销按钮).我能够测试一次,但现在我被"卡住"登录了!
为什么我不能使用
http://localhost:3000/account/sign_out
我收到一个错误 No route matches [GET] "/account/sign_out"
但是rake routes给了我:
...
new_standard_user_session GET /account/sign_in(.:format) devise/sessions#new
standard_user_session POST /account/sign_in(.:format) devise/sessions#create
destroy_standard_user_session DELETE /account/sign_out(.:format) devise/sessions#destroy new_standard_user_registration GET /account/sign_up(.:format) devise/registrations#new
...
Run Code Online (Sandbox Code Playgroud)
我/account/sign_in和你的/account_sign_up网址都可以
这是Ruby中的经典fizzbuzz:
class PrimeChecker
def print_em
1.upto 100 do |fizzbuzz|
if (fizzbuzz % 2) == 0 && (fizzbuzz % 5) == 0
puts "fizzbuzz: " + fizzbuzz.to_s
elsif (fizzbuzz % 5) == 0
puts "fizz: "+fizzbuzz.to_s
elsif (fizzbuzz % 2) == 0
puts 'buzz: ' + fizzbuzz.to_s
else
puts "-" + fizzbuzz.to_s
end
end
end
end
PrimeChecker.print_em
Run Code Online (Sandbox Code Playgroud)
当我执行此操作时,我收到此错误:
未定义的方法'print_em'.
我改变方法self.print_em,它的工作原理.这是否意味着它是一种类方法(我想是这样)?该方法之前是"未找到"因为我只能在类的实际实例上调用这样的方法吗?如果我希望它是一个实例方法,那么它的语法是什么?我正在努力更好地理解Ruby,类和方法.
为了隐藏页面周围的一堆不同的内容,我做...
$('#objective_details, #time_estimate_details, #team_members_details, #resources_details').hide();
Run Code Online (Sandbox Code Playgroud)
有没有办法做某种通配符,如
$('#*_details').hide();
Run Code Online (Sandbox Code Playgroud) 我有以下7行代码,如何让它们更短,更少罗嗦?
max_group_size = 0
wrong_services.each do |service|
group_size = service.iep_service.group_size
if group_size > max_group_size then
max_group_size = group_size
end
end
Run Code Online (Sandbox Code Playgroud) 可能重复:
优雅的链接'或'用于Ruby中相同变量的测试
answer="this" or answer = "that" 很罗嗦
我希望能够使用更像的表达式,answer =("this" or that")但我知道我不能使用该表达式作为or完成,然后将(true或false)结果与answer进行比较,这不是我想要的.更像是=〜[a/c],但我需要插值.
我跑
gem install rubygems-update
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
ERROR: While executing gem ... (Gem::RemoteSourceException)
HTTP Response 302 fetching http://gems.rubyforge.org/yaml
Run Code Online (Sandbox Code Playgroud)
我的环境是:
~$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.1.0 (1.1.0)
- RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]
...
Run Code Online (Sandbox Code Playgroud)
当我跑:
$ ruby setup.rb
Run Code Online (Sandbox Code Playgroud)
我明白了:
ruby: No such file or directory -- setup.rb (LoadError)
Run Code Online (Sandbox Code Playgroud)
请帮忙.
ruby ×5
class ×1
collect ×1
controller ×1
devise ×1
enumeration ×1
expression ×1
function ×1
html ×1
javascript ×1
jquery ×1
layout ×1
map ×1
routes ×1
select ×1