0

Rails 3.2.3アプリケーションで検索フォームが必要ですが、これを行う方法がわかりません。昨日修正してから削除しました:(。

これが私のコントローラーとモデルです:

コントローラ

class BedrijfsgegevensController < ApplicationController   
  def index
    @bedrijfsgegevens = Bedrijfsgegeven.all
    @bedrijfsgegevens = Bedrijfsgegeven.search(params[:search])
    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @bedrijfsgegevens }
    end
  end

  # GET /bedrijfsgegevens/1
  # GET /bedrijfsgegevens/1.json
  def show
    @bedrijfsgegeven = Bedrijfsgegeven.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @bedrijfsgegeven }
    end
  end

  # GET /bedrijfsgegevens/new
  # GET /bedrijfsgegevens/new.json
  def new
    @bedrijfsgegeven = Bedrijfsgegeven.new

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @bedrijfsgegeven }
    end
  end

  # GET /bedrijfsgegevens/1/edit
  def edit
    @bedrijfsgegeven = Bedrijfsgegeven.find(params[:id])
  end

  # POST /bedrijfsgegevens
  # POST /bedrijfsgegevens.json
  def create
    @bedrijfsgegeven = Bedrijfsgegeven.new(params[:bedrijfsgegeven])

    respond_to do |format|
      if @bedrijfsgegeven.save
        format.html { redirect_to @bedrijfsgegeven, notice: 'Bedrijfsgegeven was successfully created.' }
        format.json { render json: @bedrijfsgegeven, status: :created, location: @bedrijfsgegeven }
      else
        format.html { render action: "new" }
        format.json { render json: @bedrijfsgegeven.errors, status: :unprocessable_entity }
      end
    end
  end

  # PUT /bedrijfsgegevens/1
  # PUT /bedrijfsgegevens/1.json
  def update
    @bedrijfsgegeven = Bedrijfsgegeven.find(params[:id])

    respond_to do |format|
      if @bedrijfsgegeven.update_attributes(params[:bedrijfsgegeven])
        format.html { redirect_to @bedrijfsgegeven, notice: 'Bedrijfsgegeven was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render action: "edit" }
        format.json { render json: @bedrijfsgegeven.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /bedrijfsgegevens/1
  # DELETE /bedrijfsgegevens/1.json
  def destroy
    @bedrijfsgegeven = Bedrijfsgegeven.find(params[:id])
    @bedrijfsgegeven.destroy

    respond_to do |format|
      format.html { redirect_to bedrijfsgegevens_url }
      format.json { head :no_content }
            end
        end
    end

モデル

class Bedrijfsgegeven < ActiveRecord::Base

    def search
    @search = Bedrijfsgegeven.search() do
    keywords(params[:search])
    end
    end

    def self.search(search)
        if search
        find(:all, :conditions => ['Voornaam LIKE ?', "%#{search}%"])
    else
        find(:all)
    end
  end

    validates :voornaam, 
              :achternaam, 
              :woonplaats, 
              :telefoon, 
              :website, 
              :email, 
              :presence => true

  attr_accessible :achternaam, :email, :telefoon, :voornaam, :website, :woonplaats
end

誰かがこれで私を助けてくれることを願っています。

グルツ・キース

4

2 に答える 2

1

次のレールキャストを読んだり見たりしましたか?

http://asciicasts.com/episodes/240-search-sort-paginate-with-ajax

基本的な検索が必要になるたびに役立ちます

于 2012-05-08T08:44:09.870 に答える
1

これらの偶発的な削除から安全になるリポジトリの使用を開始することをお勧めします。bitbucket.org で 5 つの無料リポジトリを取得できます。git と mercurial はどちらも素晴らしいです。

于 2012-05-08T10:13:40.173 に答える