トップ «前の日記(2007/04/16 [月]) 最新 次の日記(2007/04/18 [水])» 編集

その他雑多なこと(tDiary版)

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|12|
2012|01|02|03|04|05|06|07|

2007/04/17 [火] [長年日記]

_ [Rails] インクリメンタルサーチとリレーションシップ

text_field_with_auto_completeを使ってインクリメンタルサーチを試してみる。便利なんだけど、リレーションシップを張った先のデータで入力したいのだな。

動くようになったものの、ちょっと面倒。viewとcontrollerはこんな感じ。

<p><label for="person_name">name</label><br/>
<%= text_field_with_auto_complete 'person', 'name', :value=>@author_person %></p>
<p><label for="author_memo">Memo</label><br/>
<%= text_field_with_auto_complete 'author', 'memo' %></p>
  auto_complete_for :person, :name
  auto_complete_for :author, :memo
中略
  def edit
    @author = Author.find(params[:id])
    if @author.person_id
      @author_person=@author.person.name
    else
      @author_person=""
    end
  end
  def update
    process_person_name
    @author = Author.find(params[:id])
    @author.person_id = @person.id
    if @author.update_attributes(params[:author])
      flash[:notice] = 'Author was successfully updated.'
      redirect_to :action => 'show', :id => @author
    else
      render :action => 'edit'
    end
  end
  def process_person_name
    @person=Person.find(:first, :conditions=>["name=?", params[:person][:name]])
    if @person
    else
      @person=Person.new
      @person.name=params[:person][:name]
      if @person.save
        process_person_name
      else
        render :action => 'edit'
      end
    end
  end

_ [tDiary] ツッコミ/Trackback 受付ポリシー更新

最近さらに増えてきたので、ルールを少し変更。あと書き忘れがあったので、更新。

自動的に受付拒否となる場合に「メールアドレス欄にフリーメールアドレスを入れた場合」「libghttpまたはTrackBack/1.6を名乗るユーザエージェントからのトラックバック」を追加。

自動的に非表示となる場合に「NP_TrackBackを名乗るユーザエージェントからのトラックバック」を追加。

本日のリンク元
その他のリンク元
検索

辞書