草庐IT

new_attr

全部标签

ruby - 在初始化时使用 attr_accessor 设置 ruby​​ 2.0 关键字参数

我怎样才能动态设置而不用写相同的代码。现在的代码是这样的:definitialize(keywords:keywords,title:title,url:url,adsetting:adsetting)self.keywords=keywordsself.title=titleself.url=urlself.adsetting=adsettingend如果列表变长,这很快就会失控。在ruby​​1.9中,我只需将哈希传递给该方法。像这样:definitialize(args)args.eachdo|k,v|instance_variable_set("@#{k}",v)unlessv

ruby - 在 rails_admin 中,如何关闭相关子表单中的 "add new"和 "edit"按钮?

我想阻止人们从子表单中添加或编辑页面布局。基本上我想关闭下面截图中的按钮:我能做到这一点,还是必须在全局范围内关闭对整个页面布局模型的添加和编辑? 最佳答案 可能有点晚了,但你可以使用inline_add和inline_edit。例子:field:profiledoinline_addfalseinline_editfalseend 关于ruby-在rails_admin中,如何关闭相关子表单中的"addnew"和"edit"按钮?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 回形针错误 : model missing required attr_accessor for 'avatar_file_name'

然后我想使用Paperclip为每个列表拍摄照片。我向listshow.html.erb、listing.rb模型、listings_controller.rb和_form.html.erb部分添加了适当的代码。当我尝试为list上传图片时出现此错误:Paperclip::ErrorinListingsController#updateListingmodelmissingrequiredattr_accessorfor'avatar_file_name'listings_controller的第44行:defupdaterespond_todo|format|if@listing.u

ruby - Ruby 的 attr_accessor 会自动为属性创建实例变量吗?

例如,如果我们写classMyClassattr_accessor:somethingend但没有显式地创建带有实例变量@something的初始化方法,Ruby会自动创建吗? 最佳答案 没有。实例变量在您分配给它们之前不会被定义,并且attr_accessor不会自动这样做。尝试访问未定义的实例变量会返回nil,但未定义该变量。在您写给它们之前,它们实际上并没有被定义。attr_accessor依赖于此行为,除了定义getter/setter之外不做任何事情。您可以通过查看.instance_variables来验证这一点:cla

ruby-on-rails - Rails - 如何在不重复的情况下为多个角色声明 attr_accessible

有没有一种方法可以为多个角色声明attr_accessible而无需大量重复?如果我有多个用户角色,并且允许每个角色编辑不同的属性子集,那么我的attr_accessible声明如下所示:attr_accessible:first_name,:last_name,:active,:as=>:adminattr_accessible:first_name,:last_name,:as=>:managerattr_accessible:first_name,:last_name,:as=>:guest我也愿意A)定义一组可以共享的可访问属性不同的角色或B)定义一组可以访问相同角色的角色属性

ruby - 什么时候需要将参数传递给 `Thread.new` ?

在线程外部定义的局部变量似乎从内部可见,因此Thread.new的以下两种用法似乎是相同的:a=:fooThread.new{putsa}#=>:fooThread.new(a){|a|putsa}#=>:foodocument举个例子:arr=[]a,b,c=1,2,3Thread.new(a,b,c){|d,e,f|arr[1,2,3]但由于a、b、c在创建的线程内部是可见的,所以这也应该与:arr=[]a,b,c=1,2,3Thread.new{d,e,f=a,b,c;arr[1,2,3]有区别吗?什么时候需要将局部变量作为参数传递给Thread.new?

ruby-on-rails - 我如何设置 'attr_accessible' 以不允许访问使用 Ruby on Rails 的模型的任何字段?

如果在模型文件中我只有这段代码:classUsers这是什么意思?与模型相关的所有属性是否可访问?如何设置“attr_accessible”以便不允许访问该模型的任何字段? 最佳答案 只需设置:classUsers正如PanThomakos所说(attr_accessible是可以被mass-ret的参数数组。所以如果你不发送任何符号,那么就没有参数可以访问。Thisticketwasuseful 关于ruby-on-rails-我如何设置'attr_accessible'以不允许访问使

ruby-on-rails - 如何在 Rails 中使用 "_blank"或 "_new"

在HTML中,如果我想在新窗口中打开链接,我会采用target="_blank",如下所示:如何将"_blank"添加到rails?这是我到目前为止的链接代码(但它当前在同一选项卡/窗口中打开): 最佳答案 我觉得是这样的参见http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to 关于ruby-on-rails-如何在Rails中使用"_blank"或"_new",我们在S

ruby - 如何动态添加 attr_reader

我希望下面的代码能按预期工作,但它给了我一个NoMethodError(为#classMyClassendmy_object=MyClass.newmy_object.instance_variable_set(:@foo,"bar")MyClass.send("attr_reader",:foo)putsmy_object.foo问题是我在一个更大的应用程序中使用完全相同的代码并且它完全按照我的预期工作,但是当我将它简化为这个最基本的示例时它失败了。(我知道还有很多其他方法可以完成我在Ruby中所做的事情) 最佳答案 使用Modu

ruby - 在 Ruby 中,为什么等于 nil ("Date.new == nil") 返回 nil?

今天写一些rspec时,我遇到了一些意外的行为,将日期(和时间)实例与nil进行比较。这是一个使用原始ruby​​的示例(没有Rails或其他库):user@MacBook-Work~$ruby-vruby1.8.7(2008-08-11patchlevel72)[universal-darwin10.0]user@MacBook-Work~$irb>>1==nil=>false>>"string"==nil=>false>>:sym==nil=>false>>false==nil=>false>>[]==nil=>false>>{}==nil=>false>>Proc.new{}==