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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1252閲覧

select_tagの文法が分かりません

pecchan

総合スコア592

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/07/08 07:52

編集2020/07/08 23:25

rails5.2です。

お恥ずかしい話ですが、railsドキュメントを見てますが、
文法エラーを解消できません。。。

途中までは良いのですが、include_blank 以降の指定からエラーになります。

ruby

1<%= select_tag ("search[category_id]", category_options, :include_blank => "", :class => "select-parent") %> 2

ruby

1<%= select_tag ("search[category_id]", category_options, :include_blank "", :class "select-parent") %>

など

ruby

1select_tag ("search[category_id]", category_options, {include_blank: ""}, {class: "select-parent"}) 2

試しました。
いずれもSyntaxErrorになります。

教えていただけないでしょうか?
宜しくお願いします。

以下のいずれもエラーでした

ruby

1<%= select_tag "search[category_id]", category_options, include_blank: "" %> 2<%= select_tag "search[category_id]", category_options, {include_blank: ""} %> 3<%= select_tag "search[category_id]", category_options, :include_blank "" %> 4<%= select_tag "search[category_id]", category_options, :include_blank, "" %> 5<%= select_tag "search[category_id]", category_options, {:include_blank ""} %> 6<%= select_tag "search[category_id]", category_options, {:include_blank, ""} %> 7 8

【追記】
オプションでinclude_blank とclassを指定したいのですが、
順番を変えるとclassだけは通りました。
include_blank を入れるとエラーになります。

ruby

1<%= select_tag "search[category_id]", category_options, :class => "form-control" %>

optionsの指定が原因でしょうか?
optionsは以下のように設定しました。

ruby

1<% category_options = Category.order(:id).map { |c| [c.name, c.id, data: { children_path: category_sub_categories_path(c) }] } %> 2

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

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

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

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

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

guest

回答1

0

ベストアンサー

select_tag (のように、メソッドを呼ぶ際の名前と括弧の間にスペースを入れると正しく認識されません

select_tag(と連続して書くか、カッコを省略するかのどちらかで書いてください。

投稿2020/07/08 08:07

maisumakun

総合スコア146018

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

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

pecchan

2020/07/08 11:25

いつも有難う御座います。 ()を外すことにしましたが、以下のいずれもエラーになりました。 <%= select_tag "search[category_id]", category_options, include_blank: "" %> <%= select_tag "search[category_id]", category_options, {include_blank: ""} %> <%= select_tag "search[category_id]", category_options, :include_blank "" %> <%= select_tag "search[category_id]", category_options, :include_blank, "" %> <%= select_tag "search[category_id]", category_options, {:include_blank ""} %> <%= select_tag "search[category_id]", category_options, {:include_blank, ""} %> 何が考えられるでしょうか?
pecchan

2020/07/09 00:05

私のoptionsの指定が悪いようでデータ自体の表示はまだですが エラー解消は、できましたの解決とさせていただきます。 有難う御座いました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問