草庐IT

字段别名

全部标签

ruby-on-rails - 如何在 Rails 模型中为类方法起别名?

我想在我的一个Rails模型上为类方法设置别名。defself.sub_agentid=SubAgentStatus.where(name:"active").first.idwhere(type:"SubAgent",sub_agent_status_id:id).order(:first_name)end如果这是一个实例方法,我会简单地使用alias_method,但这不适用于类方法。如何在不复制方法的情况下执行此操作? 最佳答案 您可以使用:classFoodefinstance_methodendalias_method:a

ruby-on-rails - CSV - 未加引号的字段不允许\r 或\n(第 2 行)

尝试解析CSV文件,但仍然收到错误消息Unquotedfieldsdonotallow\ror\n(line2).。我在SOsimilartopic上找到了这里,其中提示执行以下操作:CSV.open('file.csv',:row_sep=>"\r\n")do|csv|但不幸的是他对我不起作用...我无法更改CSV文件,所以我需要在代码中修复它。编辑CSV文件示例:A;B;C1234;...有什么办法吗?非常感谢! 最佳答案 首先,您应该将列分隔符设置为“;”,因为这不是解析CSV文件的常规方式。这对我有用:CSV.open('f

ruby - 在 Ruby 中为属性创建别名的最佳方法是什么?

在Ruby中为实例属性创建别名的最佳方法是什么(我没有使用rails或任何ruby​​gem,只是使用Ruby)。例如给定下面的类,我如何为:student_name属性访问器创建别名?classStudentattr_accessor:student_namealias:name:student_name#wrongends=Student.news.student_name="Jordan"putss.name#-->Jordans.name="Michael"#-->NoMethodError:undefinedmethod`name='for#...谢谢大家!

ruby - 如何强制 Ruby 的 CSV 输出中的一个字段用双引号引起来?

我正在使用Ruby的内置CSV生成一些CSV输出。一切正常,但客户希望输出中的名称字段包含双引号,以便输出看起来像输入文件。例如,输入看起来像这样:1,1.1.1.1,"FirstnameLastname",more,fields2,2.2.2.2,"FirstnameLastname,Jr.",more,fieldsCSV的正确输出如下所示:1,1.1.1.1,FirstnameLastname,more,fields2,2.2.2.2,"FirstnameLastname,Jr.",more,fields我知道CSV的做法是正确的,因为它没有双引号第三个字段,只是因为它嵌入了空格,

ruby - Rake 中任务名称的别名

当我需要为某个任务的名称起别名时,我应该怎么做?比如我怎么转任务名:rakedb:tablerakedb:createrakedb:schemarakedb:migration到:rakedb:trakedb:crakedb:srakedb:m得到答案后编辑:defalias_task(tasks)tasks.eachdo|new_name,old_name|tasknew_name,[*Rake.application[old_name].arg_names]=>[old_name]endendalias_task[[:ds,:db_schema],[:dc,:db_create],

ruby-on-rails - Rails 根据两个字段查找或创建

我有一个field模型,我想做这个Venue.find_or_create_by_但我只希望在不存在具有相同名称和日期的场所的情况下创建一个新场所例如=>Venue(id:integer,location:string,showdate:datetime,created_at:datetime,updated_at:datetime)field是唯一的,如果位置和放映日期不在数据库中,则需要创建field 最佳答案 您可以使用_and_将列链接在一​​起。这应该可以解决问题:Venue.find_or_create_by_locat

ruby-on-rails - 在 RoR 的文本字段中设置最大长度

有没有人设法设置文本字段的最大字段长度如何设置文本字段的最大长度。这是我使用的代码{:maxlength=>15,:size=>40}%>但我似乎无法设置可输入的最大字符数领域。 最佳答案 这里是你如何做到的:15,:size=>40%>来源:http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-text_field_tag 关于ruby-on-rails-在RoR的文本字段中设

ruby-on-rails - ruby on rails 如何在没有布局和其他头部字段的情况下呈现页面

elserespond_todo|format|format.html{render"tabelle/show"}endend我想呈现页面......只有该页面中的代码......不添加...布局和rubyonrails中的字段。我只想在页面tabelle/show.html.haml中显示代码的结果 最佳答案 你可以这样做:format.html{render"tabelle/show",:layout=>false} 关于ruby-on-rails-rubyonrails如何在没有布

ruby - 是否可以为 Ruby 中的模块创建别名?

在Python中,您可以使用'as'为模块设置别名:importmymoduleasmm但我似乎找不到ruby​​的等价物。我知道您可以include而不是require一个模块,但这有命名空间冲突的风险。有没有等同于Python模块别名的东西? 最佳答案 Ruby中的模块并没有那么特别,因此您可以将它们分配给另一个常量:[4](pry)main:0>moduleTestModule[4](pry)main:0*defself.foo[4](pry)main:0*"test"[4](pry)main:0*end[4](pry)mai

ruby-on-rails - rails 形式的隐藏字段

我在项目的View中有此表单。我需要将task_id传递给某个Controller,但是日志似乎没有接收到参数。我不知道是什么问题。{:action=>"index",:controller=>"statistics"},:html=>{:class=>"nifty_form",:method=>"GET"}do|f|%>task.id%> 最佳答案 您在=失踪在之后.每当您希望结果出现在HTML上时,都需要使用等号,例如,它与字段标记方法或渲染一起使用。使用if时不应使用等号,例如,因为这不是您要打印的内容(好吧,它可以,但很可能