誰能告訴我,爲什麼實體總是name == nil
創建:的Rails不能分配屬性爲新的實體
:
def create
@product = Product.new(name: params[:product][:name])
byebug
if @product.save
redirect_to users_path
end
end
鑑於:
<%= form_for Product.new do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
型號:
class Product < ApplicationRecord
has_many :categories
attr_accessor :name
end
對,謝謝,如果rails自動創建getter和setter,那麼attr_accessor的用法是什麼? – nikolay
@nikolay:創建不受數據庫中列支持的getter/setter。 –
'attr_accessor'是你在普通的ruby類中用來爲實例屬性創建setter和getters的東西。 ActiveRecord模型實際上有點特殊,因爲它們是從外部輸入而不是代碼創建的。 – max