我正在使用has_many:通过应用程序中的关联。我实现诸如模型之间的关联: -通过rails中的关联实现has_many 4
在employee.rb
class Employee < ActiveRecord::Base
has_many :inventories, through: :employee_inventories
end
在inventory.rb
class Inventory < ActiveRecord::Base
has_many :employees, through: :employee_inventories
end
在employee_inventories.rb
class EmployeeInventory < ActiveRecord::Base
belongs_to :employee
belongs_to :inventory
end
我InventoryController.rb创建一个方法,如:
def inventory_status
p 'paramsssssssssssssssssssssssssssss'
p params
p employee_inventories_params
@employee_inventories = @inventory.employee_inventories.build(employee_inventories_params)
if @employee_inventories.save
p 'sssssssssssssssssssssssssss'
redirect_to inventories_path
else
p 'aaaaaaaaaaaaaaaaa'
render :action => :show
end
def employee_inventories_params
params.require(:employee_inventory).permit(:employee_id, :status)
end
,并鉴于我的应用程序,当我跑这这给了我的错误,我使这个
<%= link_to 'Request for inventory', inventory_status_inventory_path(@inventory),
:class => 'btn btn-success' %>
这种方法
的ActionController :: ParameterMissing(参数是丢失或价值是 空:employee_inventory)
我想存储empl oyee_id和employee_inventory表中的状态。请指导我。如何实施? Thankz提前。
你记录'params'和'employee_inventories_params'的输出是什么? – RichardAE
from params我得到 {“controller”=>“inventory”,“action”=>“inventory_status”,“id”=>“1”} and employee_inventory_params我得到了'params is missing' – Aniee
这是因为你的link_to是一个'get'请求,你实际上并没有发布任何数据,所以params中不存在'employee_inventory'键。 – RichardAE