0

Rails3.2を実行しています

新しいタグの追加を処理するcoffeescriptを使用して、ネストされたフォーム(リクエスト>タグ)を作成しました。

空白のtag.nameを投稿するフォームを除いて、すべてが機能します

フォームが投稿される前に空白のフィールドを削除するメソッドを作成しようとしています。これは間違ったアプローチかもしれませんが、私はまだ初心者です。

requests_controller.rb

  def create
        @request = current_user.requests.build(params[:request])
        @tag = Tag.new
        if @tag.name.blank?
          destroy_blank
        end

    respond_to do |format|
      if @request.save
        format.html  { redirect_to(@request,
                      :notice => 'Request was successfully created.') }
        format.json  { render :json => @request,
                      :status => :created, :location => @request }
      else
        format.html  { render :action => "new" }
        format.json  { render :json => @request.errors,
                      :status => :unprocessable_entity }
      end
    end
  end

request.rb

 def destroy_blank
    blank = @tag.name
    blank.delete
 end

それがはっきりしていることを願っています。そうでない場合は私に知らせてください、そして私はより多くの情報を含めます。

4

1 に答える 1

0

空白のタグの入力を停止できない場合は、モデルにbefore_createフィルターを作成して、空白のタグの保存をスキップできます。コントローラは清潔でシンプルなままにしておきます。

幸運を!

于 2012-06-15T01:38:50.403 に答える