小编Gen*_*nís的帖子

Ruby/Rails中的类方法与常量

我正在实现一个包含一个集合的硬编码下拉列表的表单,我想知道什么是最好的解决方案,我知道两种方式暴露在工作之下,我仍然做如下:

class Example

  # Options for Example.
  self.options
    [ 'Yes', 'No', 'Not sure' ]
  end
end
Run Code Online (Sandbox Code Playgroud)

这被称为Example.options,但我知道也可以这样做:

class Example

  # Options for Example.
  OPTIONS = [ 'Yes', 'No', 'Not sure' ]
end
Run Code Online (Sandbox Code Playgroud)

这将被称为Example::OPTIONS.

问题是,这些中的任何一种都是好方法还是根本不重要?

ruby ruby-on-rails

36
推荐指数
3
解决办法
7359
查看次数

添加simple_form提示的链接?

有没有办法在simple_form表单中的特定输入的提示内部建立链接?

例如 - "忘记密码?" 在密码的输入提示中.

这样可以避免一些样式将链接附加到输入框.

可能是一个愚蠢的问题,但我无法弄清楚如何做到这一点:/

提前致谢.

编辑(这种语法是错误的,但希望它能说明我想说的内容,特别是第3行):

=simple_form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
    =f.input :email, placeholder: "me@example.com"                             
    =f.input :password, hint: { link_to "Forgot your password?", new_password_path(resource_name) }
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails hint simple-form

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

无法在OS X Lion中通过rvm安装Ruby 1.9.3,即使使用"--with-gcc = clang"

我一直在检查这里的其他问题,因为人们在使用RVM在Lion中安装ruby 1.9.3时出现问题,问题似乎与我的相同,所以我尝试了解决方案但没有成功:

我第一次尝试: rvm install 1.9.3 --with-gcc=clang

返回: Installing requirements for osx/10.7/x86_64, might require sudo password. Skipping `brew update` make sure your formulas are up to date. Missing required packages: libtool, pkg-config, libyaml, readline, libxml2, libxslt, openssl, sqlite. requirements_brew_generate_openssl_cert:4: no such file or directory: /usr/local/Cellar/openssl/1.0.1e/bin/openssl Skipping update of certificates in '/cert.pem'. Warning: found user selected compiler 'clang', this will suppress RVM auto detection mechanisms. Installing Ruby from source to: /Users/****/.rvm/rubies/ruby-1.9.3-p392, this may take a while depending on your cpu(s)... ruby-1.9.3-p392 …

rvm osx-lion ruby-1.9.3

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

Rails:渲染模板寻找错误的部分

我有一个TasksController和一个SubtasksController.在SubtasksController动作的给定时刻,我想:

# app/controllers/tasks_controllers.rb
render 'tasks/index' # Or: render template: 'tasks/index'
Run Code Online (Sandbox Code Playgroud)

从视图中调用该操作时,看起来rails试图呈现错误的部分:

ActionView::Template::Error (Missing partial subtasks/tasks, private_area/tasks, application/tasks with {:locale=>[:ca, :es], :formats=>[:js, :html], :handlers=>[:erb, :builder, :slim, :jbuilder, :coffee, :haml]}. Searched in:
  * "/Users/****/app/views"
Run Code Online (Sandbox Code Playgroud)

我真的不明白这里发生了什么,有什么想法吗?

ruby-on-rails render

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

按钮@Directive通过Angular中的@Input绑定禁用属性

我正在尝试创建一个按钮指令,该指令可以接收布尔值@Input并且绑定到元素的disable属性<button>

到目前为止,这是我得到的:

loading-button.directive.ts

@Directive({ selector: '[appLoadingButton]' })
export class LoadingButtonDirective implements OnInit {
  @Input() loaderState: boolean;

  constructor(private renderer: Renderer2, private el: ElementRef) { }

  ngOnInit() {
    this.renderer.setAttribute(this.el.nativeElement, 'disabled', this.loaderState ? 'disabled' : '');
  }
}
Run Code Online (Sandbox Code Playgroud)

模板

<button appLoadingButton [loaderState]="submitting"></button>
Run Code Online (Sandbox Code Playgroud)

在该模板的组件中,submitting属性设置为truefalse方便时使用。

我的问题是,这种方式总是被禁用,并且我期望disable属性随指令动态变化。

任何帮助将不胜感激。

directive angular

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

将来自两个不同数组的元素与Ruby中的Hash配对

假设我有这两个数组:

a = [1, 2, 3, 4, 5]
b = [6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)

我想要得到的是Hash如下:

c = { 1 => [1, 6], 2 => [2, 7], 3 => [3, 8], 4 => [4, 9], 5 => [5, 10] }
Run Code Online (Sandbox Code Playgroud)

到目前为止我遇到的唯一方法如下:

# Initialize the resulting Hash and fill in the keys.
c = {}
(a.length).times { |i| c[i + 1] = [] }

# Fill values
c.each_with_index do |(key), idx|
  c[key] = [a[idx], b[idx]]
end
Run Code Online (Sandbox Code Playgroud)

Ruby有更好或更好的方法吗?

提前致谢.

ruby arrays hash

2
推荐指数
2
解决办法
1741
查看次数