2012-05-08 1 views
0

레일 3.2.3 응용 프로그램에서 검색 양식이 필요하지만 어제 그 방법을 모르겠습니다. 그러나 어제 수정되었지만 삭제했습니다. (여기 레일에서 검색 양식을 만드는 방법을 모르겠다 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 

내가 someon 희망 이걸로 나를 도와 줄 수있어.

Grtz 키스

답변

1

당신이 읽고/다음 railscast 보았다 :

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

나에게 내가 기본 검색을 필요로 할 때마다 도움을

나는 어느 것 저장소를 사용하기 시작하도록 권장합니다
+0

감사합니다. 지금은 문제가 없습니다. D –

+0

마찬가지로 Railscasts는 시작하기에 환상적인 장소입니다. 도움이된다면 내 대답을 '대답 함'으로 표시하는 것을 잊지 마십시오. – simonmorley

+0

다른 질문이 있습니다. 이제는 단 하나의 값만 검색 할 수 있습니다. \t 데프 self.search (검색) \t \t 경우 검색 \t \t 발견 (: 모두 : 조건 => [ '? voornaam LIKE', "%의 # {검색} %를"]) \t 내 모델 다른 \t \t 찾기 (모든) \t 끝 끝 내가 검색 할 수있는 유일한 방법은 voornaam (영어 FIRSTNAME) 얼마나 내가 그래서 난 등을 검색 할 수 있음을 변경 할 voornaam, achternaam, woonplaats 같은 기록 전화, 웹 사이트, 이메일? 감사합니다 –

1

이러한 부수적 인 삭제로부터 귀하를 안전하게합니다. bitbucket.org에서 5 가지 무료 리포지토리를 얻을 수 있습니다. git와 mercurial 모두 멋지다.

+0

무슨 뜻인지 이해가 안됩니다. 이걸 설명 할 수 있니? –

+1

실수로 삭제되는 상황을 피하려면 git/mercurial을 사용해야합니다. –

+0

나는 git가 설치되어 있지만 처음에는 작동하지 않았기 때문에 삭제했지만 나중에 작동하기 시작했다. 그러나 나는 그것을 삭제했다, 이유를 모른다. –