我的錯誤說:nested_scaffold URLGenerationError
沒有路由匹配{:動作=> 「新」,:ADVERTISER_ID => 「2」, :控制器=> 「分析」:EXPERIMENT_ID =>零}缺少必需的鍵: [:EXPERIMENT_ID]
錯誤發生在
應用/視圖/分析/ index.html.erb:29:在 `_app_views_analyses_index _html_erb___267178907_46340268'
指向這段代碼在我的index.html.erb
<%= link_to 'New Analysis', new_advertiser_experiment_analysis_path(params[:experiment_id]) %>
錯誤也顯示了參數傳遞爲:
參數:{「ADVERTISER_ID 「=>」9「,」experiment_id「=>」2「}
不知道爲什麼它告訴我它不知道experiment_id。
這裏是我的分析控制器
class AnalysesController < ApplicationController
before_action :set_analyses
before_action :set_analysis, only: [:show, :edit, :update, :destroy]
# GET experiments/1/analyses
def index
@analyses = @experiment.analyses
end
# GET experiments/1/analyses/1
def show
end
# GET experiments/1/analyses/new
def new
@analysis = @experiment.analyses.build
end
# GET experiments/1/analyses/1/edit
def edit
end
# POST experiments/1/analyses
def create
@analysis = @experiment.analyses.build(analysis_params)
if @analysis.save
redirect_to([@analysis.experiment, @analysis], notice: 'Analysis was successfully created.')
else
render action: 'new'
end
end
# PUT experiments/1/analyses/1
def update
if @analysis.update_attributes(analysis_params)
redirect_to([@analysis.experiment, @analysis], notice: 'Analysis was successfully updated.')
else
render action: 'edit'
end
end
# DELETE experiments/1/analyses/1
def destroy
@analysis.destroy
redirect_to experiment_analyses_url(@experiment)
end
private
# Use callbacks to share common setup or constraints between actions.
def set_analyses
@experiment = Experiment.find(params[:experiment_id])
end
def set_analysis
@analysis = @experiment.analyses.find(params[:id])
end
# Only allow a trusted parameter "white list" through.
def analysis_params
params.require(:analysis).permit(:conversion, :aov, :win_loss, :notes)
end
end
爲什麼你在你的視圖代碼中添加_advertiser_? –