我正在使用设计。我正在更新一组日志条目。
我的路线看起来像:
devise_for :users
resources :users do
resources :exercises do
resources :log_entries
end
end
我也有一个表格Started PUT "/users/1/exercises/1/log_entries"
然后我收到以下错误:
Routing Error
No route matches [PUT] "/users/1/exercises/1/log_entries"
编辑:我知道问题可能是什么。我正在尝试更新 log_entries 的集合。所以它击中的是 PUT 而不是 POST。我不确定如何解决这个问题,因为 Rails 没有提供 PUT 集合的方法。
编辑 x2:我尝试这样做的原因是因为我目前有一个执行此操作的表单:
= semantic_form_for [current_user, ew.exercise] do |exercise|
表单内部是 log_entries 的集合。假设有5个。
现在我更新每个 log_entry 或者更动态地添加。他们击中了练习控制器,我被迫以一种骇人听闻的方式设置 user_id,如下所示:
params[:exercise][:log_entries_attributes].each do |value|
value[1].merge!(:user_id => current_user.id)
end
我想要做的是点击 log_entries 控制器,所以我不必执行上述操作。使这个棘手的是正确地通过集合。