【发布时间】:2012-07-08 04:39:47
【问题描述】:
为什么我点击提交时提示这个错误?有没有什么办法解决这一问题?? 这些对我来说似乎是正确的......
找不到没有身份证的女孩
我的参数传递视图
<%=form_for :girls, url: url_for( :controller => :girls, :action => :comment ) do |f| %>
<div class="field">
<%= f.label :body %><br />
<%= f.text_field :body %>
</div>
<%= f.hidden_field :id, :value => @girl.id %>
<div class="actions">
<%= f.submit %>
<% end %>
控制器中的评论操作
def comment
@girl = Girl.find(params[:girls][:id] )
@user_who_commented = current_user
@comment = Comment.build_from( @girl, @user_who_commented.id, params[:girls][:body] )
redirect_to :controller => 'girls', :action => 'show', :id => params[:girls][:id]
flash[:notice] = "comment added!"
end
我的路线
Example::Application.routes.draw do
root :to => "top#index"
devise_for :users, :controllers => { :registrations => "registrations" }
get 'girls', :to => 'girls#index', :as => :user_root
match '/girls/comment' => 'girls#comment', :via => :post
get "girls/show"
resources :girls
resources :home
devise_for :users do get 'logout' => 'devise/sessions#destroy' end
resources :girls do
collection do
get 'tag'
end
end
end
【问题讨论】:
-
您在哪一行代码中遇到了错误?
-
对不起。它在没有传递 id 的情况下重定向,所以我只是修改了评论操作。如果我输入评论并点击提交,它会重定向到 /girls/show/2。但它不会在 cmets 表中创建新记录....:(
标签: ruby-on-rails ruby-on-rails-3 view controller parameter-passing