Rails 3:使用Simple_form如何创建一个表单来发布专业#create?

Ner*_*ian 11 ruby-on-rails

使用Simple_form如何创建一个表单来发布专业#create?

我试过这个:

<%= simple_form_for @course_group, :html => 
   { :method => 'post', 
     :action=> 'create', 
     :controller=>'specialities' }
Run Code Online (Sandbox Code Playgroud)

但是创建的表单是:

<form accept-charset="UTF-8" 
   action="/course_groups" 
   class="simple_form course_group" 
   controller="specialities" 
   id="new_course_group" 
   method="post">
Run Code Online (Sandbox Code Playgroud)

我的期望是:

<form accept-charset="UTF-8" 
   action="/specialities" 
   class="simple_form course_group" 
   controller="specialities" 
   id="new_course_group" 
   method="post">
Run Code Online (Sandbox Code Playgroud)

Nub*_*uby 38

尝试使用该:url选项,而不是在html哈希中包含:action&:controllerright.我会把你的例子重写为:

<%= simple_form_for @course_group, 
    :url => url_for(:action => 'create', :controller => 'specialities'),
    :method => 'post' do |f| %>
Run Code Online (Sandbox Code Playgroud)

查看http://api.rubyonrails.org中的实际form_for参考资料

  • 只要在`routes.rb`中为`SpecialitiesController`设置路由,就可以用':url => specialities_path`替换哈希:`resources:specialties,only:[:index,:create]`. (4认同)