我对Rails相对比较新,但是我在控制台中工作的所有东西都是在我的生活中,通过网页保存记录不会链接一对多的链接。
模型是:
class Contact < ActiveRecord::Base
has_many :needs_personals
end
class NeedsPersonal < ActiveRecord::Base
belongs_to :contact
accepts_nested_attributes_for :contact
end
我正在使用simple_form,所以_form.html.erb看起来像这样:
<%= simple_form_for @needsPersonal do |f| %>
<%= f.association :contact %>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
我的create方法看起来很标准,看起来像这样:
def create
@needsPersonal = NeedsPersonal.new(params[:needsPersonal])
if @needsPersonal.save
redirect_to @needsPersonal, notice: 'NeedsPersonal was successfully created.'
else
render action: "new"
end
end
由于某些原因,此代码未将contact_id分配给能够看到它被发布的表格。
有什么想法吗?
答案 0 :(得分:2)
看一下从http://rails.nuvvo.com/lesson/5017-ruby-coding-convention中提取的命名约定。
类和模块名称应该是名词;在大写情况下,每个内部单词的首字母大写。
例如:
class Raster, class Raster::ImageSprite
方法应该是动词。所有小写ASCII字母,单词用下划线分隔('_')
离。
run(), run_fast(), obj.background_color()
变量名应为全部小写ASCII字母,单词用下划线('_')
分隔例如:
i = 1 some_char = SomeChar.new() table_width = 0.0
常量应全部为大写,单词用下划线('_')分隔。 ((嗯,有没有一个合理的背景来区分常数和类名,它同时是一个常数?)
例如:
MIN_LENGTH = 1
DEFAULT_HOST = "foo.example.com"
说到'连接池'作为变量,您应该决定按范围选择名称,例如以下...
本地范围的'conpool'(例如局部变量) “@connection_pool”用于类范围(例如实例变量)
答案 1 :(得分:0)
好的,所以我解决了。不知道为什么我几个小时前没有注意到。参数应该是params[:needs_personal]
而不是params[:needsPersonal]
,如上所述。
喜欢锻炼为什么以及何时骆驼的情况以及何时强调。