

userモデルにはnameカラムはなくuserの保存が成功すればprofileの保存も成功するようになっています。  
profileにnameカラムはあるのですがコントローラーで下記のように定義してもuserモデルにカラムがないので検索ができません。  
ユーザー名でそのユーザーの投稿を検索するにはどのようにしたらよいかご教示いただきたいです。

[code]

    posts_controller.rb
    
      def search
        @q = Post.ransack(params[:q])
        @posts = @q.result.includes(:users, :comments).order(created_at: :desc)
      end
    
[/code]

[code]

    _seaech.html.erb
    
    <%= search_form_for @q do |f| %>
      <div class="field">
      <%= f.text_field :title_or_body_cont, id: "search_field_of_post", class: 'form-control me-2', placeholder: "投稿" %>
      </div>
      <div class="field">
      <%= f.text_field :comments_body_cont, id: "search_field_of_comment", class: 'form-control me-2', placeholder: "コメント" %>
      </div>
      <div class="field">
      <%= f.text_field :user_name_cont, id: "search_field_of_user", class: 'form-control me-2', placeholder: "ユーザー" %>
      </div>
      <div class="actions">
      <%= f.submit "Search", class: 'btn btn-outline-success' %>
      </div>
      <% end %>
    
[/code]

[code]

    　　　  create_table "posts", force: :cascade do |t|
        t.string "title", null: false
        t.text "body", null: false
        t.integer "user_id", null: false
        t.datetime "created_at", precision: 6, null: false
        t.datetime "updated_at", precision: 6, null: false
        t.index ["user_id"], name: "index_posts_on_user_id"
      end　
    
      create_table "profiles", force: :cascade do |t|
        t.string "name", null: false
        t.integer "user_id", null: false
        t.datetime "created_at", precision: 6, null: false
        t.datetime "updated_at", precision: 6, null: false
        t.index ["user_id"], name: "index_profiles_on_user_id"
    
    (略）
    
    　  create_table "users", force: :cascade do |t|
        t.string "email", null: false
        t.string "password_digest", null: false
        t.datetime "created_at", precision: 6, null: false
        t.datetime "updated_at", precision: 6, null: false
        t.index ["email"], name: "index_users_on_email", unique: true
      end
    
      add_foreign_key "posts", "users"
      add_foreign_key "profiles", "users"
    
[/code]


CC BY-SA 4.0
2023-06-20T08:44:15.310
95310
2023-06-20T08:44:15.310
58801
question
ruby-on-rails
検索フォームでユーザー名を入力しユーザーに紐づいた投稿を一覧画面に表示させたい