Ruby on rails 一个模型有两种不同的形式是安全的吗?
我有一个名为Product的模型,它有以下列:Ruby on rails 一个模型有两种不同的形式是安全的吗?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个名为Product的模型,它有以下列: create_table :products do |t| t.decimal :price t.string :name t.integer :offline_store_id t.integer :online_store_id t.date :product_date end 现在我为你在那里看到的协会制作了两种不同的形式: # using find_or_create_by webstore = onlin
create_table :products do |t|
t.decimal :price
t.string :name
t.integer :offline_store_id
t.integer :online_store_id
t.date :product_date
end
现在我为你在那里看到的协会制作了两种不同的形式:
# using find_or_create_by
webstore = online_store_id
store = offline_store_id
<%= form_for @product do |f| %>
<%= f.text_field :price %>
<%= f.text_field :name %>
<%= f.date_select :product_date
<%= f.text_field :webstore %>
<% end %>
另一个表单与之相同,它只是将:webstore改为:store。这样做的原因是为在线产品制作表单,为离线产品制作表单。我关心的是,即使两种表格中都没有该字段,该字段是否仍然可以填写。产品不应同时属于在线和离线商店
这样做行吗?这个字段真的消失了吗?或者即使我没有可用的字段,黑客仍然可以填写它吗 如何对域和用户界面进行建模与黑客/安全相关的问题是一个独立的问题。如果需要的话,每个模型有多个表单是完全可以的。您的安全问题应该与域模型分开解决 我建议您看看如何为产品建模。您的产品应该只知道它的属性以及它属于某个商店。让Store类包含其脱机/联机状态 另外,我认为你在这个表单上做的太多了,看起来你在产品表单上创建了商店。我建议使用单独的表单进行门店/产品管理,并将产品表单上的门店字段设置为选择列表 迁移
create_table :products do |t|
t.decimal :price
t.string :name
t.integer :store_id
t.date :product_date
end
create_table :stores do |t|
t.boolean :online
.....
模型
如何对域和UI进行建模与黑客/安全相关的问题是一个独立的问题。如果需要的话,每个模型有多个表单是完全可以的。您的安全问题应该与域模型分开解决 我建议您看看如何为产品建模。您的产品应该只知道它的属性以及它属于某个商店。让Store类包含其脱机/联机状态 另外,我认为你在这个表单上做的太多了,看起来你在产品表单上创建了商店。我建议使用单独的表单进行门店/产品管理,并将产品表单上的门店字段设置为选择列表 迁移
create_table :products do |t|
t.decimal :price
t.string :name
t.integer :store_id
t.date :product_date
end
create_table :stores do |t|
t.boolean :online
.....
模型
谢谢,谢谢你提供的额外信息。我会尝试使用它。谢谢你,也感谢你提供的额外信息。我会尝试使用它。
online_status = true # switch this depending on online status
collection_select(:product, :store_id, Store.find_all_by_online(online_status), :id, :name, :prompt => 'Please select store')