0
我正在嘗試添加搜索欄。我也設定了路徑。但每次我嘗試點擊搜索時,它都會指示我出現此錯誤。這段代碼中的錯誤是什麼?無法爲InboxController找到操作'搜索'
這是我的Inbox_Controller文件。它表示在InboxController中找不到「搜索」操作。
class InboxController < ApplicationController
before_action :valid_membership
before_action :change_password_next_login
before_action :agreed_to_terms
before_action :allowed_send_mail?
layout 'inbox'
def bulk
puts params
ids = params[:bulk_ids]
if ids
params[:commit]
case params[:commit]
when 'Archive'
ids.each do |id|
message = Message.find(id)
message.archived = true
message.save()
end
when 'Restore'
ids.each do |id|
message = Message.find(id)
message.archived = false
message.save()
end
else
puts 'invalid action!!'
end
if params[:folder] != ''
redirect_to inbox_index_path(folder: params[:folder])
else
redirect_to inbox_index_path
end
else
flash[:alert] = t('errors.inbox.no_emails_selected')
redirect_to :back
end
end
def index
per_page = 10
page = params[:page] ? params[:page] : 1
@inbox = Inbox.search(params[:search])
case params[:folder]
when 'archive'
@messages = current_user.archived_messages(page, per_page)
when 'drafts'
@messages = current_user.draft_messages(page, per_page)
when 'sent'
@messages = current_user.sent_messages(page, per_page)
else
@messages = current_user.received_messages(page, per_page)
end
end
def reply
original = Message.find(params[:id])
@quoted = "\n\nOn #{original.sent_time.strftime("%m/%d/%y %-I:%M %p")}, # {original.from.full_name} wrote:\n----------------\n#{original.body}"
@message = Message.new(
:parent => original,
:to => original.from,
:subject => "RE: #{original.subject}",
:body => @quoted,
)
render :compose
end
def move
@message = Message.find(params[:id])
folder = params[:destination]
case folder
when 'archive'
@message.archived = true
else
@message.archived = false
end
unless @message.save
puts @message.errors.full_messages
end
redirect_to inbox_index_path(folder: folder)
end
def show
@message = Message.find(params[:id])
if [email protected]? && @message.to == current_user
@message.read_time = DateTime.now
unless @message.save
puts @message.errors.full_messages
end
end
end
def edit
@message = Message.find(params[:id])
@message.to_name = @message.to.full_name
render 'compose'
end
def compose
@message = Message.new
if(params[:id])
@message.to = Mentor.find(params[:id])
end
end
def create
if(params[:message] && !params[:message][:id].empty?)
@message = Message.find(params[:message][:id])
@message.assign_attributes(message_params)
else
@message = Message.new(message_params)
end
if params[:parent_id] && !params[:parent_id].empty?
@message.parent = Message.find(params[:parent_id])
@message.replied_to_time = Time.now
end
@message.from = current_user
draft = params[:draft]
if draft
@message.draft = true
else
@message.sent_time = Time.now
@message.draft = false
end
# puts @message.as_json
if can_send_mail
if @message.save
if !draft
if current_user_or_guest.mentee?
current_user.credits += -1
current_user.save
end
UserMailer.inmail_notification(@message).deliver
end
redirect_to inbox_index_path(folder: draft ? 'drafts' : 'inbox'), notice: "Message successfully #{draft ? 'saved' : 'sent'}."
else
flash.now[:alert] = 'All email fields need to be filled out prior to sending/saving.'
render 'compose'
end
else
flash.now[:alert] = 'You do not have enough credits to send any more InMail to Game Changers.'
render 'compose'
end
ActivityLog.create(userid: current_user.id, points: 500, typeof: "message")
end
def allowed_send_mail?
unless !current_user.admin?
msg = "You are not authorized to access this page!"
show_error(msg)
end
end
def profile_complete
return true if current_user.mentor?
unless current_user.profile_complete?
flash[:alert] = t('errors.inbox.incomplete_profile')
redirect_to edit_user_registration_path
end
end
def message_params
params.require(:message).permit(:id, :to_name, :to_id, :subject, :body)
end
end
這是我的相關index.erb.html文件。
<%= form_tag inbox_search_path, :method => 'get' do %>
<p>
<%= search_field_tag :Search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
這是我相關的routes.rb文件:
get 'inbox' => 'inbox#index', :as => 'inbox_index'
get 'inbox/show/:id' => 'inbox#show', :as => 'inbox_show'
get 'inbox/compose' => 'inbox#compose', :as => 'inbox_compose'
get 'inbox/compose/:id' => 'inbox#compose', :as => 'inbox_compose_to'
get 'inbox/edit/:id' => 'inbox#edit', :as => 'inbox_edit'
get 'inbox/move' => 'inbox#move', :as => 'inbox_move'
get 'inbox/reply' => 'inbox#reply', :as => 'inbox_reply'
get 'inbox/search' => 'inbox#search', :as => 'inbox_search'
post 'inbox/create' => 'inbox#create'
post 'inbox/bulk' => 'inbox#bulk'
因此,當我在控制器中定義一個不同的搜索方法時,它會顯示一條不同的錯誤消息。我只是在控制器中的索引方法中添加了代碼。我無法弄清楚。你可以幫我嗎? –
發佈您的查看代碼,也可能是您的路線 – nPn
您能否請現在檢查? –