在每个循环中设置多个form_for的问题

时间:2014-05-29 08:51:32

标签: ruby-on-rails

试着绕过一些东西,希望有人可以提供帮助。

我有一个循环如下,以显示属性的资产(图像)列表:

- @property.property_assets.each do |asset|

每个资产都有一个带有描述字段的图像,即:

= asset.description

这完全没问题。

我希望为每个资产都有一个表单,以便我可以通过提交更新说明。

我的form_for目前看起来像:

= form_for asset , url: property_property_assets_path do |f|

我的路线档案:

resources :properties do 

    resources :property_assets

    member do
      post :update_general
      post :update_promo_image
      post :update_location

    end
end

我的property_assets_controller:

def index
    @property = Property.find(params[:property_id])
end

def update

    if @property_asset.update(property_asset_params)
      respond_to do |format|
        format.html
        format.js
        flash[:notice] = "Updated property asset"
      end
    else
      render 'edit'
    end
  end

问题

我收到错误:

  

没有路线匹配{:action =>" index",:controller =>" property_assets",   :id =>" 1"}缺少必需的密钥:[:property_id]

提前致谢

1 个答案:

答案 0 :(得分:1)

你应该:

= form_for [@property, asset] do |f|