0

編集:最初の質問は私の前提そのものです。rails/html は、明示的に要求しなくても「件名の作成」ボタンを生成することはサポートされていますか?

ビューを操作するコントローラーは次のとおりです。

class SubjectsController < ApplicationController

  def index
     list
    render('list')
  end

  def list
    @subjects = Subject.order("subjects.position ASC")
  end

  def show
    @subject = Subject.find(params[:id])
  end

  def new
    @subject = Subject.new(:name => 'default')
  end
  def create
    #instantiate a new object using form params
    @subject = Subject.new(params[:subject])
    #save the subject
    if @subject.save
      #if save succeeds redirect to list action
    else
      #if save fails, redisplay form
      render('new')
    end
  end
end

そして、これは私のボタンを生成していない不正なビュー(html.erb)ファイルです

<%= link_to("<< Back to List", {:action => 'list'}, :class => 'back-link') %>

<div class="subject new">
  <h2>Create Subject</h2>

  <%=  form_for(:subject, :url => {:action => 'create'}) do |f| %>

  <table summary="Subject form fields">
    <tr>
      <th>Name</th>
      <td><%= f.text_field(:name) %></td>
    </tr>
    <tr>
      <th>Position</th>
      <td><%= f.text_field(:position) %></td>
    </tr>
    <tr>
      <th>Visible</th>
      <td><%= f.text_field(:visible) %></td>
    </tr>
  </table>
<% end %>
</div>

現在、ブラウザの出力は次のとおりです。

'<< Back to List' (link)

<h2>Create Subject</h2>

Name     [blank-form]
Position [blank-form]
Visible  [blank-form]
[missing button location]

(lynda.comによると)欠落しているボタンの場所に「Create Subject」というボタンがあるはずですが、そこにはありません。

4

1 に答える 1

1

あなたのコードには、ボタンを生成するものは何もありません。

以下を追加する必要があります。

<%= f.submit 'Create Subject' %>

フォーム内。たぶん ~の</table><% end %>

于 2012-05-19T23:02:45.967 に答える