【发布时间】:2015-10-01 03:19:29
【问题描述】:
我收到了
没有将符号隐式转换为整数
使用以下代码:
<%= form_for @question, admin_questions_path do |f| %>
<%= f.label :question %>
<%= f.text_area :question %>
<% end %>
但是当我改变form_for方法如下;表单正确呈现。
<%= form_for [:admin, @question] do |f| %>
代码有什么区别?如果错误的代码使用路径admin_questions_path 路由到Admin::QuestionsController 的create 方法,为什么它不起作用?我是 Rails 和命名空间的新手,所以我可能遗漏了一些非常明显的东西。
编辑:
问题控制器在 admin 下命名空间。
namespace :admin do
resources :questions, only: [:index, :new, :create]
end
【问题讨论】:
-
admin_questions 是连接表吗?管理员是模型吗? QuestionsController 是否继承自 Admin?我也是 Rails 的新手,你的设置似乎不寻常。
-
here 有用吗?
-
@Jason 实际上这很有用,谢谢。答案是:“在视图中,您应该显式编写 url,因为控制器中有变量而不是控制器名称。”这意味着我应该使用
:url => admin_questions_path,而不仅仅是admin_questions_path。
标签: ruby-on-rails ruby