약 1 년 반 전에 Ruby on Rails 버전 3.2를 사용하여 온라인 과정을 시작했습니다. 나는 수업을 끝내고 응용 프로그램을 만들었고 이제는 수업 PDF와 Rails 4.1.0에서 돌아가겠습니다.레일 : form_tag 맞춤 작업시 오류
나는 오류가 발생하는 부분을 가지고 있는데, 뭔가 잘못되었거나 뭔가가 레일즈 3.2에서 4.1로 변경되었는지 잘 모르겠습니다.
<%= form_tag :action => 'review', :id => @restaurant do %>
<strong>Poster: </strong><%= text_field "review", "poster" %><br /><br />
<strong>Date: </strong><%= datetime_select "review", "date" %><br /><br />
<strong>Review:</strong><br />
<%= text_area "review", "review", :rows => 5 %><br />
<%= submit_tag "Review" %>
<% end %>
이 지침은 restaurants_controller.rb 파일에 다음 코드를 넣어 작동이 얻을 말 :
def review
Restaurant.find(params[:id]).reviews.create(params[:review])
redirect_to :action=>"show", :id => params[:id]
end
을하지만 할 때
나는이 때 form_tag 태그를 가지고 그 오류가있는 페이지를 봅니다 :
No route matches {:action=>"review", "controller=>"restaurants", :id=>#<Restaurant id: 1, name: "Marco & Luca", created_at: "...", updated_at: "..."
내 레이크 경로에 t 모자 쇼는 레스토랑에 매핑됩니다. # show는 레스토랑 경로에 매핑됩니다.
form_tag가 잘못 되었습니까?
클래스의 지침에서 routes.rb에 아무것도 설정하지 않았으므로 컨트롤러 파일의 redirect_to 행 때문일 것이라고 생각합니다. 그거 지금 사용하지 않을거야? 더 이상 유효하지 않습니까?
요청한대로 파일을 라우팅합니다. (수업에서 우리는 경로 파일을 편집 할 필요가 없었습니다).
Rails.application.routes.draw do
# You can have the root of your site routed with "root"
root 'restaurants#index'
resources :restaurants do
collection do
get 'login'
get 'register'
post 'newuser'
post 'validate'
post 'search'
end
end
고마워요!
'routes' 파일을 보여주세요. –
문서를 보시고 많은 것들이 바뀌 었으며 새로운 프레임 워크를 공부하는 것이 가장 좋다고 생각합니다.이 문서는 여러분이 필요로하고 이해할 수있는 모든 것이 더 나은 것으로 발견 될 것입니다. 방법. [Rails 가이드] (http://guides.rubyonrails.org/4_0_release_notes.html) –
. 양식을 제출할 경로가 없습니다. – sevenseacat