尝试在 Rails 4 中存档特定反馈
Trying to archive a specific feedback in Rails 4
我已经创建了一个反馈系统,并且正在尝试获取特定的反馈以进行存档。我尝试了多种不同的配置,但似乎无法正常工作。我没有收到错误,看起来它在我收到通知时正在执行控制器操作。但是,布尔值不会在数据库中更改,特定反馈也不会隐藏。
如有任何帮助,我们将不胜感激!
- 我已将存档布尔值添加到我的 table。
- 我已经创建了一个归档路径。
- 我已经为存档创建了控制器操作。
这是我的代码:
**Controller:**
def archive_feedback
@listing_feedback = ListingFeedback.find(params[:id])
respond_to do |format|
format.html { redirect_to listing_listing_feedbacks_path, notice: "That feedback has been archived." }
format.json { render :index }
end
end
**Routes: (My feedback feature is using nested resources)**
resources :listings do
member do
get 'like'
get 'unlike'
get 'duplicate'
get 'gallery'
delete 'gallery' => 'listings#clear_gallery'
get 'manage_photos'
get 'craigslist'
get "add_to_collection"
end
resources :listing_feedbacks do
member do
put 'archive_feedback'
end
end
end
**Index.html.erb:**
<p><%= link_to 'Archive', controller: "listing_feedbacks", action: "archive_feedback", id: listing_feedback.id, archive: :true, method: :put %></p>
此外,如何让反馈在存档后隐藏起来?
您没有更新 @listing_feedback
archive_feedback
方法。改成下面
def archive_feedback
@listing_feedback = ListingFeedback.find(params[:id])
@listing_feedback.update(archive: true)
respond_to do |format|
format.html { redirect_to listing_listing_feedbacks_path, notice: "That feedback has been archived." }
format.json { render :index }
end
end
您是否将新的存档属性添加到控制器中的请求参数中?
否则不会保存到数据库中。
private
def listing_feedback_params
params.require(:listing_feedback).permit :archive
end
I think ..
you have to write as below in controller
def archive_feedback
@listing_feedback = ListingFeedback.find(params[:id])
@listing_feedback.destroy
or
@listing_feedback.update_attribute(archive: true)
respond_to do |format|
format.html { redirect_to listing_listing_feedbacks_path, notice: "That feedback has been archived." }
format.json { render :index }
end
end
我已经创建了一个反馈系统,并且正在尝试获取特定的反馈以进行存档。我尝试了多种不同的配置,但似乎无法正常工作。我没有收到错误,看起来它在我收到通知时正在执行控制器操作。但是,布尔值不会在数据库中更改,特定反馈也不会隐藏。
如有任何帮助,我们将不胜感激!
- 我已将存档布尔值添加到我的 table。
- 我已经创建了一个归档路径。
- 我已经为存档创建了控制器操作。
这是我的代码:
**Controller:**
def archive_feedback
@listing_feedback = ListingFeedback.find(params[:id])
respond_to do |format|
format.html { redirect_to listing_listing_feedbacks_path, notice: "That feedback has been archived." }
format.json { render :index }
end
end
**Routes: (My feedback feature is using nested resources)**
resources :listings do
member do
get 'like'
get 'unlike'
get 'duplicate'
get 'gallery'
delete 'gallery' => 'listings#clear_gallery'
get 'manage_photos'
get 'craigslist'
get "add_to_collection"
end
resources :listing_feedbacks do
member do
put 'archive_feedback'
end
end
end
**Index.html.erb:**
<p><%= link_to 'Archive', controller: "listing_feedbacks", action: "archive_feedback", id: listing_feedback.id, archive: :true, method: :put %></p>
此外,如何让反馈在存档后隐藏起来?
您没有更新 @listing_feedback
archive_feedback
方法。改成下面
def archive_feedback
@listing_feedback = ListingFeedback.find(params[:id])
@listing_feedback.update(archive: true)
respond_to do |format|
format.html { redirect_to listing_listing_feedbacks_path, notice: "That feedback has been archived." }
format.json { render :index }
end
end
您是否将新的存档属性添加到控制器中的请求参数中?
否则不会保存到数据库中。
private
def listing_feedback_params
params.require(:listing_feedback).permit :archive
end
I think ..
you have to write as below in controller
def archive_feedback
@listing_feedback = ListingFeedback.find(params[:id])
@listing_feedback.destroy
or
@listing_feedback.update_attribute(archive: true)
respond_to do |format|
format.html { redirect_to listing_listing_feedbacks_path, notice: "That feedback has been archived." }
format.json { render :index }
end
end