質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

0回答

1202閲覧

ユーザーを検索して、ユーザーに関するツイートが出来るようなプログラムを作成しています。検索には ransack を用いています。ransack に関するエラーが出ました

shocyu

総合スコア17

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2015/12/28 01:04

ruby on rails を用いて、簡単なツイートが出来るアプリケーションを開発しています。

タイトルにあるようなシステム構成を考えています。検索用のプラグインとしてransackを使用しています。ユーザーについては、複数条件を入力して検索が出来るようにしたいと思っています。

「新規ユーザー」のボタンを押してモーダル画面が出力されて、その画面上でユーザーを検索して選択出来るようにしてみました。

以下、ransack を用いた viewと controller のソースを示します。controllerの部分は、privateメソッドの箇所で、strong parameter を使っています。model としては、userが複数の post を持っている、という関係です。

(app/views/posts/new.html.erb)

html

1<div class="modal-body"> 2<%= search_form_for(@q, html: { method: :get, class: 'form-horizontal', role: 'form' }) do |p| %> 3<!--(中略)--> 4 <table class="table"> 5 <thead> 6 <tr> 7 <div class="col-sm-1">#</div> 8 <div class="col-sm-4">アカウント名</div> 9 <div class="col-sm-2"></div> 10 <div class="col-sm-2"></div> 11 <div class="col-sm-3">Eメール</div> 12 </tr> 13 </thead> 14 <tbody> 15 <tr> 16 <div class="col-sm-1"> 17 <%= p.text_field :user_id_cont, 18 :class => 'col-sm-1 form-control', 19 :placeholder => '選択' %> 20 </div> 21<!--(中略)--> 22 </tbody> 23 </table> 24<% end %> 25</div>

(app/controllers/posts_controller.rb)

ruby

1def new 2(中略) 3 4 @q = User.ransack(search_params) 5 @selected_users = @q.result.order(availability: :desc, code: :asc).decorate 6end 7 8(中略) 9 10private 11def search_params 12 search_conditions = [ 13 user_id_cont, user_account_cont, last_name_cont, first_name_cont, email_address_cont 14 ] 15 params.require(:q).permit(search_conditions) 16 end

ここで rails serverを立ち上げた際に
undefined local variable or method `user_id_cont' for #Admin::PostsController:0x007f935b8026e0
というエラーが出ました。

ransack で検索する際のパラメータの設定に問題がありそうです。確認すべき点、修正すべき点ありましたらご指摘をお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問