Ruby初心者の道
Railsプロジェクトは基本的にUTF8のcharsetで、多言語を対応していますが、 Railsのプロジェクトを中国語化にするにはアプリ上にもいくつか変更必要がある箇所があります。

≫続きを読む

ブックマークに追加する

RSS RSS
Ruby初心者の道
2010.05.11
カテゴリ:

scoped_accessについて

scoped_accessで検索条件を指定すると、検索結果が怪しい気がします。。。

≫続きを読む

ブックマークに追加する

RSS RSS
Ruby初心者の道
2010.03.04
カテゴリ:

rails1.2.6の豆知識

リダイレクトとreturnについて

≫続きを読む

ブックマークに追加する

RSS RSS
Ruby初心者の道
2009.11.17
カテゴリ:

多対多の関係について

海です。

railsのテーブルの多対多の関係について参考資料がすでに十分だと思いますけど、

ここで初心者向けにもう一度まとめます。

◆多対多の関係というのは

例えば、管理サイトのアカウントを作成して、そのアカウントは権限機能を持っています。

持っている権限機能によりアカウントができる操作も異なります。

アカウントテーブル(account.rb)と権限機能テーブル(function.rb)は多対多の関係です。

多対多の関係では、上記図のように結びついているように扱えますが、実際には結合テーブル(account_functions)が必要になります。

 

◆多対多の関係の使用について

モデル:

account.rbには has_and_belongs_to_many :funtions

function.rbには has_and_belongs_to_many :accounts

 

また、account.rbには下記のように追加

  def chang_functions(selected_functions)
    function_ids = selected_functions.keys.collect {|key| key.to_i}
    self.functions = Function.find(function_ids)
  end

コントローラ:

二郎というアカウントを作成するとき、下記のように使用すれば、

二郎のデータをaccountsテーブルに挿入される同時、

二郎が持っている3つ権限機能もaccount_functionsテーブルに挿入されます。

@account= Account.new(params[:account])

if @account.save
      @account.chang_functions(params[:functions] || {})
      flash[:notice] = "データが保存しました。"
      redirect_to :action => :index
else
      #エラーがある場合

         :
end

 

簡単な説明ですが、ご参考になれれば。。。。。。。。

ブックマークに追加する

RSS RSS
Ruby初心者の道
2009.09.14
カテゴリ:

rails2.2のbutton_to_function

rails2.2にてformの入れ子ができないようで、でもどうしても1formに複数ボタンがあり、 複数アクションにしたい場合はどうすればよいか。 調べましたところ、button_to_functionを使いましたら、jsでディレクトリの指定ができるようです。ただ、button_to_functionは名前通りbuttonですのでフォームをsubmitする必要がない時、使えると思います。詳しくはrailsのapiドキュメントをご参照いただければと思います。

ブックマークに追加する

.
web開発ならKBMJ
Rubyでのwebシステム開発は
実績豊富なKBMJにお任せ下さい
iPhone開発
iPhone開発は
KBMJにお任せ下さい
ファイル共有サービス DUB
クラウドファイル共有サービス「DUB」
オープンソースECパッケージ エレコマ
オープンソースECパッケージ
「エレコマ」

プロフィール

海

最近チェックした記事

最新記事

アーカイブ

アクセスランキング

KBMJのWebソリューション
Ruby on railsの開発ならKBMJ
株式会社ケイビーエムジェイ