我正在创建一个用于管理单个项目的Rails应用程序.每个项目都有一个项目编号(零填充,4位数字,例如0002或0212或1002),我想在应用程序的网址中使用.如果我当前导航到/items/2我获取项目id = 2而不是项目item_number = 2.我的routes.rb文件只包含resources :items; 我怎样才能允许这个项目号码拉出项目?
我正在观看Ruby On Rails Live Lessons视频,作者定义了一个Active Record User模型.在模型中,他将password_confirmation字段作为模型的一部分.这是RoR的标准做法吗?我把它定义为模型的一部分似乎很奇怪......
例如,您不会将电子邮件确认定义为模型的一部分或用户名确认.
这是正常/标准的RoR练习吗?
我的代码中有几个地方有嵌套对象,但不能保证它们总是被设置.
这可以给我一个nil的红宝石未定义方法:NilClass
puts obj1.obj2.obj3.obj4.to_s
Run Code Online (Sandbox Code Playgroud)
这项检查是丑陋和重复的:
if(obj1 && obj1.obj2 && obj1.obj2.obj3 && obj1.obj2.obj3.obj4)
puts obj1.obj2.obj3.obj4.to_s
end
Run Code Online (Sandbox Code Playgroud)
是否有一种简洁的写作方式,如果有什么是零只是默默地失败?
我是rails框架的初学者.我有一个基本问题.
我试图定义一些模型及其关联,参考流行的rails指南.我的协会如下所示.
class Person < ActiveRecord::Base
has_one :head
end
class Head < ActiveRecord::Base
belongs_to :person
end
Run Code Online (Sandbox Code Playgroud)
在这里,我需要在表'head'中添加foreign_key(Persons的主键).
现在,如果我需要获得'人'的'头',rails需要扫描头表并匹配person_id.
我认为直接的方法是在'person'表中添加外键.然后我可以用'ID'直接引用'人'的'头'.
似乎rails约定对性能不友好.我在这里错过了什么吗?
我对ruby及其rubyisms相当新,我有一个类似于这个的代码:
def my_method objects
temp = []
objects.each do |o|
temp << {
:text => o.text,
:title => o.title
}
end
return temp
end
Run Code Online (Sandbox Code Playgroud)
你能帮我写好吗?或者向我展示一些学习这种红宝石的资料来源?我已经在做红宝石加油课了.
我在Ruby中有这样的代码是否有可能写得更短?
first_name = person[0]
last_name = person[1]
person_id = person[2]
email = person[3]
title = person[4]
phone = person[5]
mobile = person[6]
department = person[7]
address = person[8]
city = person[9]
zip_code =person[10]
state =person[11]
country = person[12]
manager_id = person[13]
Run Code Online (Sandbox Code Playgroud) 我有一个表,其中第一列是像这样定义的自动增量id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT
现在我想删除一些包含NULL的行,之后,id不一致,有没有办法让它们自动调整?就像现在我删除了第一行,所以id从我的表中的2开始,我也删除了中间的一些行.
我正在使用sanitize gem https://github.com/rgrove/sanitize从字符串中删除一些HTML标记.
但是,在清理控制器中的字符串之前,字符串设置如下:
<p>This is <b>bold</b> and this <span style="text-decoration: underline;">is</span> <i>italics</i> ok? This <em>is not </em>a problem.</p>
Run Code Online (Sandbox Code Playgroud)
意味着<和>被替换为<和>.
我如何使用了sanitize宝石消除例如和当这些标签被表示为<i>,并</i>在控制器?
所以我整天都在做这个项目,没有任何问题.我在一个xml文件中为一个布局元素添加了一个id,IDE无法识别该ID(所有其他ID都是,但这个不是).在过去的几天里,我遇到过这样的事情,而"Project> Clean"通常会修复它.所以我这样做了 - 实际上每个引用R.anything的文件都会出现红色的X - 我看看并且没有创建R.java.
我搜索了SO并发现了一些关于打开或关闭"自动构建"的解决方案并尝试了 - 没有运气 - 其他人说尝试将目标设置为2.2 - 尝试过,没有运气.尝试手动删除它,尝试重新创建并添加它作为源 - 没有好处.重启了eclipse,再次尝试了一切,没有成功.
正如我所说,我今晚必须已经编译了这个东西100次,而且我在工作正常和失败之间做的唯一改变就是在元素中添加一个id(我已经删除了).
ruby ×6
android ×1
arrays ×1
associations ×1
coding-style ×1
database ×1
eclipse ×1
linux ×1
mysql ×1
sanitize ×1
text-files ×1
vim ×1