Tôi đang gặp lỗi định tuyến (tôi nghĩ) trong khi sử dụng trình trợ giúp form_for của Rails. Tôi đã được tìm kiếm xung quanh và nhìn vào this question, nhưng số nhiều cho "static_event" với số nhiều là "static_events" vì vậy tôi đang thua lỗ. Bất kỳ trợ giúp sẽ được đánh giá cao. Dưới đây là các chi tiết ....Phương thức chưa xác định với "_path" trong khi sử dụng đường ray form_for
ActionView::Template::Error (undefined method `static_events_path' for #<#<Class:0x007f9fcc48a918>:0x007f9fcc46fa78>):
mẫu của tôi:
class StaticEvent < ActiveRecord::Base
attr_accessible :content, :title, :discount, :location, :day_of_week, :start_time
điều khiển của tôi:
class StaticEventsController < ApplicationController
before_filter :authenticate, :only => [:create, :destroy]
before_filter :authorized_user, :only => [:destroy]
def new
@title = "Share An Event"
@static_event = StaticEvent.new
end
def create
@static_event = current_user.static_events.build(params[:event])
if @static_event.save
flash[:success] = "Event Shared"
redirect_to @static_event #this was the old version
else
render :new
end
end
Tuyến:
match '/static-events/new', :to => 'static_events#new'
match '/static-events/', :to => 'static_events#index'
match '/static-events/:id', :to => 'static_events#show'
Quan điểm
<%= form_for (@static_event) do |f| %>
<%= render 'shared/error_messages', :object => f.object %>
<%= text_field "static_event", "title", "size" => 48 %>
<%= time_select "static_event", "start_time", {:ampm => true, :minute_step => 15} %>
<%= text_area "static_event", "content", "cols" => 42, "rows" => 5 %>
<%= text_field "static_event", "discount", "size" => 48 %>
<%= text_field "static_event", "location", "size" => 48 %>
<%= text_field "static_event", "day_of_week", "size" => 48 %>
<input name="" type="submit" class="button" value="share on chalkboard" />
<% end %>
Tuyệt vời, tôi đã cập nhật lỗi này. Cảm ơn Fábio! – Alekx
Trong đường ray 4, bạn cũng sẽ cần phải chỉ định phương thức http với 'via' – courtsimas
Như một bên không, đối với các tuyến lồng nhau, bạn sẽ phải chuyển một cặp giá trị để' form_for ([@ static_event, @ sub_event]) ' –