我正在接收
符号不隐式转换为整数
使用以下代码:

<%= form_for  @question, admin_questions_path do |f| %>
     <%= f.label :question %>
     <%= f.text_area :question %>
<% end %>

但当我按如下方式更改form_for方法时,表单会正确呈现。
<%= form_for  [:admin, @question] do |f| %>

代码之间有什么区别?如果不正确的代码路由到路径为createAdmin::QuestionsController方法,为什么它不起作用?我对rails和命名空间还不熟悉,所以可能遗漏了一些非常明显的东西。
编辑:
“问题”控制器的名称空间在“管理”下。
namespace :admin do
    resources :questions, only: [:index, :new, :create]
end

最佳答案

第一个例子应该是用于编写以下内容的语法糖(如果我没有弄错的话):

form_for [@question, admin_questions_path] do |f|

你最想去的地方:
form_for @question, url: admin_questions_path do |f|

您的第二个表单使用多态路由自动确定正确的路由,如果您想使用同一个表单进行编辑和创建,这将非常有用。提供的链接arup应该对该主题有帮助,关于路由的指南也应该在:http://guides.rubyonrails.org/routing.html

08-25 18:48
查看更多