【RoR】Ruby on Rails Part20©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
render js: “$(‘#popup’).html(\"<%= j (render ‘point_form') %>\”);”
じゃね?
知らんけど ダメだわ
#がコメント扱いになる
あと Rails の view の js の文字列の中に Rails で生成した文字列入れるのってどうやるの?
<%= f.submit '送信', :class => 'button', :html => { :onsubmit => "return window.confirm('<%= (t 'confirm') %>)" }
的なことを書きたいけどどう書いていいかわからん
フレームワークがネストしてると文字列の扱いがクッソ面倒だな RailsはAPIサーバーに撤すればいいじゃん。
ver5でAPIモードが付いたけどそういうことだろ。
SPAフレームワーク使っても使わなくてもいいけどフロントでAPI経由でJSON取って構築。
シンプルになったな! >>760
だーかーらー、正常に502エラーがでてるだろ
それでいいんだよ。
気に食わないなら見た目を変えればいいだけ >>766
APIサーバーって言ってもな、ログインとか少しだけ必要だったりするわけだよ。
APIモードっていうのは失敗だった。
APIアクションを簡単に作れるようにすべきだった レールに沿って一本道じゃなく
Laravelみたいにモジュールを
組み合わせられればいいのに >>769
Railsもモジュールを組み合わせるが?
そもそもレールは一本道ではない。切り替えられる。 >>763-764
所々に、全角文字が混じっているから、動かないのでは?
>>765
%()・%Q() は、ダブルクォートで囲むのと同じ。
変数・定数の展開もできる
%q() は、シングルクォートで囲むのと同じ。
変数・定数の展開はできない
Rubyで%記法(パーセント記法)を使う
https://qiita.com/mogulla3/items/46bb876391be07921743
「パーセント記法 クオート」などで検索! パーセント記法って恣意的なクソ文法だよな。
ぜんぜん直感的じゃない。 >>765
一番外側が Rails なんだから
> js の文字列の中に Rails で生成した文字列入れる
ではなく
Rails の中に js の文字列を入れるだけだよ
<%= f.submit '送信', :class => 'button', :html => { :onsubmit => "return window.confirm('" + (t 'confirm') + "')"
ためしてないけどこれでいけるはず
ちなみに onclick つけたければ f.submit じゃなく form_for か form_tag のほうな なぜこんなに順位が落ちてるんだろう
パフォーマンスかねぇ?いい言語だと思うんだが 省略してこう書ける
こういう風にも書ける
みたいに書く分には好きなように書けるが読む人は全部知ってなきゃ読めないし書いた人違うと毎回別の言語みたいでチームだと採用しづらいんじゃない?
あと単なるエイリアスと、そう見せかけてちょっとだけ違う機能が乱立しすぎで混乱を招くとか。 https://www.benfrederickson.com/images/github/language-popularity/oldthing_u.svg
たしかに、Rubyは上昇のカーブが落ち着いた
Ruby on Rails は、一時期のバブルやフィーバと呼ばれた時代を乗り越えた
その一方で未だにペチパーと揶揄されるPHPの成長が著しいのも立派
ところで、今時はやってるとか言はれてる:
バイソンとかいうふのは、影も形も無い
おかしいなあ、一時期は Zope(>>2) とかRubyモドキの Django みたいな
フレームワークもあったのに、影も形も泣くランク外で彷徨ってるみたい
PHP あるいは Rails、その二強時代は、今後も安定して
続いていくってことなんだろなぁ >>786
https://www.benfrederickson.com/ranking-programming-languages-by-github-users/
の記事の一番上に出てるけどPythonはアクティブユーザー数Java抜いてJavascriptに次ぐ2番になったよ。
続いてC++、C、その次がPHP。
いくら英語が苦手だからってそのくらい見れば分かるでしょうに…
あとこれあくまでgithubのデータを解析した結果だからね。
大企業で組み込みとかやってる人はこんなところにカウントされることは稀だからCやC++は本当はもっとユーザー数いると思う。
Rubyはその、アレやけど… >>786
もちろん、汎用言語としてバイソンが急速に知名度を上げてるのは知ってるよ
とういうか、そもそも過去の TIOBEランキングにおいて、Rails フィーバーといふ
一時的なバブル現象はあったけど、Ruby はただの一度たりとも バイソン様を
越えたことなんてありませぬ
で、ここはム板ではなくWebProg板なんだけど、>>786は、それほど知名度が上がってる
バイソン様なのに、Webの世界ではあいも変わらず、天下の「GitHub様のデータ解析」によれば
ランク害を彷徨ってるといふのだから面白いなぁといふ、ただそれだけの話なんですよ
にもかかわらず、>>786のカキコからわずか30分あまりでバイソン様スゲーといふレスが
返るあたり、>>2 のトラウマもまた、健在といふことなんでしょうね いやぁ、たしかに>>487氏が指摘したように、プログラミング言語の
ランキングではJavaを抜いて2位に登り詰めたバイソン様ですら
Web界ではランク害を彷徨っているのに、Rubyは一時期のバブルが
弾けたとはいえ堂々と未だに2位と上位へランクインしてるわけです
>>2 を持ち出すまでもなく、Ruby がなかったら…とか、
どうして Python on Rails ではなかったのかとか、
>>487氏とそのお仲間達の心の声が響きますね 濁音と半濁音の区別がない言語を母語とする方ですかね >>786の画像は「Languages to Maybe Avoid」節の中のもので、
まずPHP、Ruby、Objective-C、CoffeeScript、Perlのアクティブユーザー*率*の減少ぶりを示した上で
その5言語のアクティブユーザー*数*を示したものだね
アクティブユーザー率の減少傾向を根拠に「避けるべき言語」にノミネートされたのが該当5言語で、
その中でRubyはPHPに次ぐアクティブユーザー数があると示したグラフであるに過ぎない
(しかし率だけじゃなく数も減ってんのかRuby...)
どうしようもなく英語が読めない人なのか、あるいはミスリードを試みているのかな? 掌田津耶乃が書いた、フレームワークの本。
他にもゲームエンジンでは、Unity, UE4 も書いてる
Spring Framework 4 プログラミング入門、2014
Spring Boot プログラミング入門、2016
Node.js超入門、2017
Python Django 超入門、2018
つまり、Railsが減って、Node.js, Go なども伸びている さすがにひとりのライターが書いた本だけで
判断するのは無理がある
ある程度の冊数で比較しないと ttps://pbs.twimg.com/media/DjCWzQYU4AAng_H.jpg 掌田津耶乃が書くようなフレームワークは、需要が伸びている分野
需要が伸びている分野では、出版される本の数も増える。
Unity, swift, go, python
JavaScript は、常に新本が出る >>797
いや、恐らくこれは氏に対する皮肉が多分に入っているぞ lang=enがいつの間にか日本語に戻るから修正してくれって言われたんだけど
Railsで書かれたシステムって勝手にPOSTやGETでパラメータが送られてるんだけど
どこに設定してあるのか全くわからん
書くのは楽だけど人の書いたコードが全く読めない
viewにもcontrollerにも一言もロケールっぽい変数出てこないのにどこで消えてるんだよ Railsで書かれたシステムを解読する時ってどういう順番で見ればいいの? 無料のRails チュートリアルで勉強すれば?
rails console で、環境変数を調べるとか?
OS の環境変数か、設定ファイルから読み込んでいるのかも?
1行ずつ、Rails のソースコードを読む必要はない。
大雑把に、どういう処理をしているか、コメントを読むだけで十分 >>800
それはRuby・Railsの問題じゃない。
それに気づかない時点で、Ruby・Rails以前の
基礎知識が足りてない いや普通は before action かいてヘルパーパスで勝手に伝わるから書く必要も読む必要もない
それがおこってる時点でわかってないやつが書いてるんだろうから探すのは大変だぞ
link_toで絶対パスをかいてるとか
まさか自分でリクエストトークン管理してたりしてないよな… じゃあどうやって勉強したらいいの?
1から作ったことはないけどいきなり Rails でかかれたシステムさわることになることってないの? Rails の form_for に複数のオプションをつける方法が毎回わからなくなります
url method confirm remote:true id class name
すべてつける場合どう書くのがいいのでしょうか
ブログあさっても複数指定してるものがそもそもあんまりなくて
data だったり html だったり : だったり => だったり書き方が違いすぎる ついでにいうとsimple_form使われてたりするとまた全然オプション違うので注意 >>811
無料のRails チュートリアルを読めば?
これだけで、環境構築・SQL・Linux コマンドなど、数十の技術を学べる。
LinuC など、これらを別々に勉強すれば、10年以上掛かる >>812
Viewヘルパー消えてほしい
HTMLで書けることをなんでRubyのコードに
しなくちゃいけないんだか。全然便利になっていない はじめてみたときどこに定義されてるかわからんかったわ
まさかメソッド名が勝手に作られてるなんて思わないし thタグとか書くのにわざわざ content_tag :thとかあほかよ >>817
それなw
俺、昔オレオレで作ったことあるんだが、
Viewヘルパーのようなものは作らないで、
ビューのHTMLに書いたメタ情報をパースして変換するようにしたよ
例えば、こんなRails混じりの何が生成されるのか
全く予想がつかないコードを書くぐらいなら
<%= form_for @data do |form| %>
<%= form.text_field :name %>
<%= form.submit %>
<% end %>
こんな感じでいいだろと
<form rails-form-for="@data">
<input type="text" rails-form-input=":name">
<input type='submit'>
</form>
コードは長くなるが、HTMLの知識をそのまま活かせる
HTMLをそのまま書いたものに、+αでRailsが解釈する属性を埋め込む
それを解釈して、HTMLタグを書き換える。
(うまく作れば)HTML Validで作ることも可能 Ruby 内で、JSX を使えるようにしろ!
JavaScript(JS) 内で、JSXは使えるし、
JSX内で、JSも使える
どちらの言語からも、乗り入れ可能なのが望ましい >>818
これの方が全然いいな。
なんであんなセンスないやり方放置してるんだ?互換性のためか?
新規は避けるだろあんなん ルビィスト(笑)はhtmlみたいな低級マークアップ言語には触れたくもないのだよ その驕りが衰退を招いたんだわ
WebはHTMLから離れては生きられないのよ 基礎から学ぶ Vue.js、mio、2018/5/29
Vue の本が出た bootstrap 使ってると長ったらしい同じクラスをつけた似たような記述が何回もでてきてレイアウトちょっとかえるだけであちこち書き換えないといけないから
<h2><%=label=></h2>
<p><%=contents%></p>
みたいなのをサブルーチン化してクラスかくのを1回ですませたいんだけど
ブロック複数わたせて複数回よべるようなサブルーチン化って Rails ではできないの?
def card(&block1, &block2)
とはかけないし
card.html.erbに
<h2><%= yield :head %></h2>
<p><%= yield %></p>
ってかいて
<%= render layout: ’card’ do %>
content_for :head do
…
end
…
end
だと複数回よぶと重複してくんだよね
結局ながったらしいクラス側を変数にして
@card_label_class=…
@card_content_class=…
<h2 class=“<%=@card_label_class%>”>…</h2>
<p class=“<%=card_content_class%>”>
でしのいでる…
きれいに管理する方法ってないの? ないよ
欠陥言語だし
つーか CSS でセレクタうまく使えばクラスつけなくてもスタイルは1元管理できるだろ bootstrap のクラスをあてないと
bootstrap ベースのテンプレートやテーマをあてるときに調整しなおしになる
本当は CSS セレクタで bootstrap のクラス名が指定できれば1番いいんだけどねー
CSS4 でそういうのサポートしてくれんかね SASSでどうかけばいいんですか?
SASSでできるのって結局 bootstrap のスタイルを上書きして展開するだけで
bootstrap のクラスをあてる
(あとからテーマやテンプレートをあてられる形にする)
って無理じゃない? >>883
独自classにbootstrapのスタイルを継承して内容を含めるんだよ 継承も全部は使えないけどね
mixinとか使って生成しているのもあるから >>835
継承するには import しなきゃいけないけど
そうすると bootstrap の中身って全部展開されるんだよね?
@import ‘bootstrap’
ってかかずに
.myclass { @extend [bootstrap class] }
ってできるの?
画面を動的に構成するような場合
遷移ごとに使う部品だけのCSSやJSを読み込むようにすると
CSS(SCSS)分割してかきたくなるけど
全部のファイルに bootstrap の中身が展開されちゃうよね
application.scss に全部の画面遷移の全部品のスタイルかくってこと?
それとも bootstrap の中身が重複して何回もよみこまれても気にしなくていいのかな そもそも scss で継承できるのクラスやIDとかだけで
セレクタで構造指定した中には使えなかったはず
>>829 の例だと
<div class=“accordion>
<h2></h2>
<p></p>
</div>
に対して
.accordion > h2 { @extend }
とはかけないでしょ
@media とかのなかも使えないしいうほど sass が万能ってわけじゃない
結局CSSが楽にかけるだけでCSSでできないことはsassでも無理だよ > .accordion > h2 { @extend }
> とはかけないでしょ
普通にかけるけど?
やりたいことはCSSでできることなんだから、
sassでできるよ bootstrapはCSSなんだから、
bootstrapでできること = CSSでできること
CSSでできること = sassでできる あれ? かけるの?
前にたようなことやろうとしたら子孫系のセレクタには extend 使えないって記事複数みかけたけど 試しにかいてみたけど
select, input {
@extend form-control;
}
ってかいてもホバーエフェクトがでない
なんで? select, input {
@extend .form-control;
}
こうだろ 普通にできるな
https://jsfiddle.net/g803kutm/
--------
<div class="accordion">
<h2>h2</h2>
<p>p</p>
</div>
--------
.foo {
color: red;
}
.accordion > h2 {
@extend .foo;
} 確かに子セレクタで @extend できないってブログいっぱいでてくるね
最近のバージョンでできるようになったとか? >>843
やっぱりだめ
form-control のホバーエフェクトがでない
:hover も明示的に継承しないとだめなのかな
それとも form-control っていうクラスがついてることで JS がなんかしてるのかな SASS のextend は様々な制限があるから、
mixin を使えば? Web制作者のためのSassの教科書 改訂2版、2017
SASS のimport とか、extend は難しいから、この本を読んでいないと無理。
永遠にハマる!w
extend は、制限が多いから、mixin を使った方がよい。
import は、パーシャルとか知っていないと出来ない
bootstrap のような巨大フレームワークは、初心者はやめた方がよい。
もっと小さいやつを使うか、フルスクラッチで練習した方がよい mixin は bootstrap 側が定義してくれてないとダメじゃないの いや、、そんなに難しいか?
なんの問題もなくbootstrap上書きして使ってるけど 上書きっていうのは、上書き用のscssファイルを用意してclassや変数とか上書きしてるって意味 話がかみあってない気がするけど
よくあるのは bootstrap の基本デザインを使いつつ
自分のスタイルを追加、上書きして微調整だけど
>>833がやりたいのは自分では一切スタイルをかかずに
デフォルトのbootstrapや(テーマ、テンプレート)にデザイン任せる
つまりHTMLにbootstrapのクラスをかかずに
bootstrapに用意されてるスタイルのみをあてたいってことでしょ いつまで、できないとか結論出てないような感じで終わらねーんだよ?
scss知ってりゃ、やらなくても最初っからできるとわかっていることをいつまでグチグチ。
scssのビルドが入るからオンラインでデモ作れなくて面倒なんだよ
俺がやってやるから感謝しろボケども
[index.html]
<!DOCTYPE html>
<head><link rel="stylesheet" type="text/css" href="style.css"></head>
<body>
<div>
<button type="button">Primary</button>
</div>
<button type="button">normal</button>
</body>
[style.scss]
@import "bootstrap.min";
div button {
@extend .btn;
@extend .btn-primary;
}
1. 以上の2つのファイルを同じディレクトリに作成する
2. https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css からダウンロードして
bootstrap.min.cssというファイルで同ディレクトリに保存する
3. sassc をインストールしてコンパイルする
sassc style.scss style.css
4. ブラウザでindex.htmlを開く
そうすりゃ、divの下のbuttonにだけ、クラスも指定してないのに、スタイルが適用されるだろ
ちゃんと今俺が手元で実験して、そうなるのを確認したからな。
scssのレベルではできると証明した。Railsとの連携は別問題だ。それは自分でやれな >>846のform-controlも問題なく動いているが?
ホバーエフェクト? 周りの青いやつか?本家のサンプルもホバーエフェクトなんて無い
https://getbootstrap.com/docs/4.1/components/forms/ わー ありがとうございます
やさしい
でもなんかあたってるテーマがホバーエフェクトかけてるっぽいんですよね
input form にホバーすると枠がちょっとだけ濃くなる
最低限 form-control はかかないとだめっぽい おー そうなんですか
ありがと
ここで聞くと勉強する手間省けるから楽ちんですね つーか Rails で bootstrap を使うって simple_form みたいなヘルパー使うってことじゃないの?
いちいち view で bootstrap の HTML かくとか Rails 使ってる意味ねーじゃん >>860
とりあえずCSSとは何かを調べてから
出直してきてくださいねー scss 使うと部品わけられない糞じゃん
java の import みたいに名前空間かりるだけでコンパイルするときにリンク作るだけならともかく
CSSのimportってそこに import ファイルの中身吐き出すだけだからな
bnavbar.css
sidebar.css
mail_form.css
lp.css
みたいにわけて全部に @ bootstrap かくとか馬鹿すぎだろ SASS のimport は、パーシャルとか知っていないと出来ない
CSS としてimportするのか、SASSとしてimportするのか。
SASSとしてimportした場合、その中で、CSSをimportしていたら、どうなるのかとか
SASS のimport は、色々あるから難しい ■ このスレッドは過去ログ倉庫に格納されています