[英]Rails 3 - Nested Resources Generating in-valid URL via form_for?
我有以下 form_for 標簽,配置文件是它生成的 URL,它無效,即這里是標簽:
<%= form_for([current_user,@profile], :html =>{:class => "contact_form",:multipart => true}) do |f| %>
這是預測這個應該是 action="/users/1/profile/1" 的 "action="/users/1/profile.1"
誰能看到我在這里做錯了什么?
以下是相關 rails 文件的一些快照。
路線.rb
devise_for :users
resources :users, :only => [:delete] do
resource :profile
end
用戶 Model
class User < ActiveRecord::Base
has_one :profile, :inverse_of => :user
accepts_nested_attributes_for :profile
簡介 Model
class Profile < ActiveRecord::Base
belongs_to :user
validates_presence_of :user
耙路線 output:
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
user_profile POST /users/:user_id/profile(.:format) profiles#create
new_user_profile GET /users/:user_id/profile/new(.:format) profiles#new
edit_user_profile GET /users/:user_id/profile/edit(.:format) profiles#edit
GET /users/:user_id/profile(.:format) profiles#show
PUT /users/:user_id/profile(.:format) profiles#update
DELETE /users/:user_id/profile(.:format) profiles#destroy
我有同樣的問題。 我的解決方案是,您必須像這樣直接聲明 url:
<%= form_for([current_user,@profile], :url => user_profile_path, :html =>{:class => "contact_form",:multipart => true}) do |f| %>
雖然我真的不知道為什么會發生這種情況 - 也許任何人都可以解釋......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.