2017-10-18 80 views
0

我有一个work_histories的窗体。当用户删除工作记录时,我希望他们被重定向到他们的用户个人资料页面,而不是调用此控制器操作的user_work_histories_url(work_histories#show)。我想重定向到user_path(@user)的用户个人资料页面。导轨将用户重定向到配置文件页面后,销毁操作

我试着改变work_histories销毁操作重定向到user_path(@user)而不是user_work_histories_url,但它说我刚刚删除的作业的id找不到。

,这里是我的work_histories

# DELETE /users/:user_id/work_histories/:id 
def destroy 
@work_history = WorkHistory.find(params[:id]) 

@work_history.destroy 
respond_to do |format| 
    format.html { redirect_to user_work_histories_url, 
       notice: "The work history for your #{@work_history.job_title.upcase} job was successfully destroyed." } 
    format.json { head :no_content } 
end 
end 

这里控制器是为work_histories

<p id="notice"><%= notice %></p> 

<p> 
    <strong>Job Title:</strong> 
    <%= @work_history.job_title %> 
</p> 

<p> 
    <strong>Job Description:</strong> 
    <%= @work_history.description %> 
</p> 

<%= link_to 'Back', user_work_histories_path(@user) %> | 
<%= link_to 'Edit', edit_user_work_history_path(@user, @work_history) %> | 
<%= link_to 'Delete', user_work_history_path(@user, @work_history), method: :delete, 
    data: { confirm: 'Are you sure you want to delete this work history?' } %> 
+0

你保持通知消息,当您更改URL?也许你应该在删除记录之前创建通知消息。 – Smek

回答

0

想到我计算出来的show.html.erb。我不确定这是否是这样做的“轨道方式”,或者它只是我的另一个黑客攻击解决方案。

我在work_history控制器中试图调用user_url(@user),这是我在用户控制器中做的事情,但看起来像是在我更改它的user_url(@ work_history.user)时起作用。工作经历属于用户。它的工作...现在。

# DELETE /users/:user_id/work_histories/:id 
def destroy 
@work_history = WorkHistory.find(params[:id]) 

@work_history.destroy 
respond_to do |format| 
    format.html { redirect_to user_url(@work_history.user), 
       notice: "The work history for your #{@work_history.job_title.upcase} job was successfully destroyed." } 
    format.json { head :no_content } 
end 

相关问题