просмотров/обратные связи/searchfeedback.html.erb:Искал результат не отображается на странице просмотра в рельсах
Мой Форма поиска:
<%= form_tag(search_feedback_feedback_path(:id), :method => :get) do %>
<%= text_field_tag :token_no %>
<%= submit_tag 'Search' %>
<% end %>
приложение/Config/routes.rb файл:
resources :feedbacks do
member do
get :search_feedback
end
end
match '/feedbackresult' => 'feedbacks#searchedfeedback'
в feedbacks_controller.rb файле:
def search_feedback
if params[:token_no]
@result_feedback = Feedback.find_by_token(params[:token_no])
redirect_to feedbackresult_path
end
end
просмотров/отзывы/searchedfeedback.html.erb:
Your Result found : <%= @result_feedback.name %>
Здесь я получаю следующую ошибку:
NoMethodError in Feedbacks#searchedfeedback
Showing C:/Users/PROJ/app/views/feedbacks/searchedfeedback.html.erb where line #1 raised:
undefined method `name' for nil:NilClass
'find_by_token', вероятно, ничего не находит. – benastan
find_by_token работает абсолютно нормально (поскольку токен - это имя одного столбца в таблице обратных связей), даже я проверял его с помощью logger.info (@ result_feedback.name). вопрос только с рендерингом. – Ajay
Тогда почему вы получаете ошибку 'undefined method 'name' для nil: NilClass'? Возможно, есть еще одна переменная, к которой вы отправляете сообщение: имя? – benastan