【RoR】Ruby on Rails Part20©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
いや、、そんなに難しいか?
なんの問題もなく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 は、色々あるから難しい パーシャルって
_a.scss に @import bootstrap
_b.scss に @import bootstrap
ってかいて
default.css に
@import a
@import b
ってかいた場合どうなるの?
これで重複出力がないなら全部解決するんだけど >>862
> scss 使うと部品わけられない糞じゃん
何が言いたいのかわからん。
用語は適切に使ってくれ
部品分けるというのは、プログラム言語で言うと
クラスなどの単位で個別のファイルに分けること
分けて管理し、importやincludeで参照し、
ビルドで結合して一つのファイルを作る
scssでも個別のファイルに分けられるだろ?
そしてビルドで結合するだろ?
まずこれのどこが悪いのかを言ってくれ。 >>863
> SASS のimport は、パーシャルとか知っていないと出来ない
そのSASSっていうのは、sass文法の意味か?
ならscssを使え。
すべてのcssは適切なscssになっている。
それを知っていれば、以下のような疑問は起こりえないはずなんだが?
> CSS としてimportするのか、SASSとしてimportするのか。
> SASSとしてimportした場合、その中で、CSSをimportしていたら、どうなるのかとか
SASS(scss)のimportは、なにをimportしたとしてもscssとしてimportする
たとえ拡張子がcssであっても、中身がcssであっても、scssとしてimportする
それで問題は起きない。
なぜならcssで書いてあったとしても、それは正しいscssだからだ
> SASS のimport は、色々あるから難しい
お前が勉強不足でわかってないだけ >>864
> default.css に
default.scss な
> @import a
> @import b
> ってかいた場合どうなるの?
default.scss に
@import bootstrap
@import a
@import b
って書いて
_a.scss と _b.scss には @import bootstrap を書かなければいい
検証するまでもなく、解決済みだってわかるよな?w
っていうか本当にプログラマか?
検証もせずに重複読み込みで問題が発生するかもと想像できるぐらいなら、
(C/C++で有名な)インクルードガードで対応できることぐらいすぐに思いつくだろ >>867
import bootstrap ってかかないと
bootstrap のクラス名を extend できなくない? クラス名をextend
クラスをextend?
クラス名をcomplement? > default.scss に
> @import bootstrap
> @import a
> @import b
> って書いて
書いてあるが?
ってか試せよ。俺は試してないけどなー(笑)
次はなんてエラーが出てくる書けな。
書かないと何も答えない すまんけど、bootstrap使ってなおかつ独自にカスタマイズすることに何の苦労があるのかわからん
そもそもデザインごときにbootstrap使うまでもないとは思うけど、まあそれは置いといたとしても アンダースコアから始まるパーシャルファイル(scss)を読み込んでも、
CSS ファイルを生成しないって、本に書いてある
@import _a
@import _b
パーシャルファイルのアンダースコアは、省略しない方がわかりやすい
誰か試して、結果を教えてくれ じゃあbootstrap.scssに_つけておけば全部解決するのか >>872
だから自分でやれ。
scssとcssは区別する必要がない 結局 >>829 は Rails では不可能なの?
CSSはsass使えばいいとしても
role=とかdata-target=とかaria-control=とか毎回かくの大変だからサブルーチン化はしたいんだけど > role=とかdata-target=とかaria-control=とか毎回かくの大変だからサブルーチン化はしたいんだけど
今度はHTMLの話か。HTMLは下手に共通化しないことをおすすめする >>876
>ブロック複数わたせて複数回よべるようなサブルーチン化って Rails ではできないの? Procオブジェクトかラムダ式を複数渡すのならいけるかも 引数2個受け取るどころかメソッド2階よぶことすらできないんだけど
<%
def f
content_tag :div, '123'
end
def g
content_tag :div, '456'
end
def fg
f
g
end
%>
<%= fg %>
こんな view かいたら 456 しか出力されない
f ってなんで実行されないの? >>829
> 結局ながったらしいクラス側を変数にして
> @card_label_class=…
> @card_content_class=…
> <h2 class=“<%=@card_label_class%>”>…</h2>
> <p class=“<%=card_content_class%>”>
> でしのいでる…
>
> きれいに管理する方法ってないの?
だからscssで短いクラス名にするって話をしてるんだろ
<h2 class=“card-label>"…</h2>
<p class=“card-content”>…</p>
って書けばいいじゃん >>881
a = 123
a = 456
例えば、こう書いたら、456になる。
上書き じゃあどうすればいいの?
f + g だと1行になっちゃうし
<%= f %>
<%= g %>
だとインデントがずれるよね
呼び先のインデントを維持したまま複数行表示するには
パーシャルビュー使うしかないってこと? >>881
fは実行されてるけど、fgの返り値がgの実行結果になるので、結果として456しか表示されない。
<%= f %>
<%= g %>
これでもerbのインデントさえ揃ってれば、HTMLでもインデントは崩れないと思うけど?
あと毎回、2つのメソッドを続けて呼ぶのがダルいというのなら、パーシャルビュー作るのがいいんじゃないですかね。 パーシャル _test.html.erb の中で x, y って変数使うとして
render 'test', collection: [{x:1, y:2}, {x:3, y:4}]
ってわたしても x も y も undefined でおこられる
collection で引数わたしたいときどういうデータ構造でわたせばいいの? 一度マイグレーションスクリプトでAddColumnToUsersとか作ったら、
以後Usersにカラムを追加するときはこれを編集すれば良い?
それとももう一度AddColumnToUsersをgenerateしてどんどん新しく作っていくの?
どっちが普通? 既存のファイルを変更しても良いケースは
・ステージング環境や本番環境でまだそのマイグレーションを実行していない場合
・アプリのリリース前でいくらでもDBを初期化できる場合。ファイルが多くなってきたらむしろ積極的にテーブルごとにまとめたほうがいい
かな。
すでに他の環境でそのマイグレーションが実行された場合は新しく追加したほうがいい。マイグレーションをロールバックしたり再実行する必要が出てくる まず基本的に既存のマイグレーションを編集してカラム変更するという発想は捨ててくれ
多人数開発で既にコミットされたマイグレーションを上書きコミットするのは地雷行為なので絶対にしてはいけない
Railsは実行された一番最近のマイグレーションを記録してるので上書きされた過去のマイグレーションは他人の環境で実行されない
リリース前にまとめるなど特定のタイミングで意思疎通された場合以外は基本的にダメ それはマイグレーションを他の人に公開した場合だけどな
ローカルでやる分には書き換えてOK >>888-890
ありがとう
マイグレーション完全に理解した いまいちマイグレーションの存在意味がわからない
SQLなんて生で叩けばいいじゃん
列追加するのも生SQLでいけるし、すでにデータがあっても可能
気持ち悪いなら新たなテーブル作ってそっちにデータ移動して元テーブルは削除して新テーブルを元テーブルの名前に戻すだけ >>892
開発はチームでやることがほとんどなのでね
ぼっち開発なら生SQLでもいいのかもしれないけど >>892
個人個人でローカルにデータベースサーバー入れて開発してるってことを知らないんだろうな
というか、そんな高度なことができるのか?って思ってるはず。
データベースサーバーを使うのは難しいから専門家が設定してそれを
みんなで共用するのが常識だって思ってるんだろう いまいちSQLの存在意味がわからない
DBなんて使わずファイル一個置いておけば良いじゃん いまいちRailsの存在意味がわからない
MVCなんて使わず全部のアドレスにhtmlファイル置いておけば良いじゃん いまいち俺の存在意味がわからない
プログラミング言語なんて使わずAI一個置いておけば良いじゃん Rails で view かくときやっぱ全部ヘルパーでかくの?
<%= content_tag ... %>
それとも HTML 主体で要所に値いれるだけ?
<a href="<%= ...path %>...</a> >>898
構造的な部分はHTMLで書くかな
一行部分はヘルパー使うかな。<a... とかは link_to 使うね どっちかに統一するのかと思ったけど
混ぜて描くのが普通なんですね
ありがとうございました >897
あと10年もすれば実現するんじゃね。よかったな。 蔵も下請けも仕様書書けないのにどうやってAIが理解するんだよ? だから、客や AI と I/F する(できる能のある)やつだけが残るんだろ。ほんとにもうすぐだよ。 Rails で新し目の JS の記述したら develop staging は何ともなかったのに
production だけプレコンパイルでエラーはいたんだけど…
Rails で JS 使うといまだに class とか使えないの? >>904
エラーの内容をはってくれないと俺たちはエスパーじゃないんだし 調べたらすぐでてきたわ
uglifierがES6構文に対応してないのな
解決策もすぐでてくるけどproduction.rb 書き換えるんじゃダメなんか
まあ確かにこれぐらいデフォで対応しとけとは思うが Rails はじめてつかうんだけど
view と route (URL) って自分でかくものじゃなくて
モデルとコントローラーだけを自分でかけば
コマンドで勝手にできるものなの? 同じく初心者なんですけどviewのエラーがぜんぜん解読できない
他の言語だったら少なくともエラーメッセージで何がおこってるかぐらいはわかるのに…
慣れればわかるようになるのでしょうか Railsは選ばれたものにしか扱えない神のツールだからな そのエラーメッセージで検索すれば?
すべての行に、tap, p 文を付けて、インスタンスを確認するとか
本当に正しい、HTML を作っているのか?
ERB 変換後のHTMLを、ツールに通して、正しい形式かどうか、チェックするとか たしかにRails、というかrubyのエラーはかなり不親切 「Ruby は国内でしか使われていない」
デマ流してるのは Matz 本人だと思った Railsの既存システムを少しさわったことがある程度で
新規にRailsで作ることになってRails g をはじめて使うんですけど
何をどこまで手動でかいてどこまでが自動生成するのが普通なんですか
モデルのバリデーション
マイグレーションのデータ型
viewのフォーム要素
って自動で生成してくれたりするんでしょうか
boolean だったら checkbox
Datetime だったら timepicker
みたいな 選べる立場ならRailsなんて絶対使いたくないけど
上の人がRailsを使いたがるのでどうしようもないんです もうRailsまじ無理
エラーメッセージ不親切だし
ドキュメントないし
記事少ないし
質スレもぜんぜん回答くれないし
たかが少しソースが短くかけるってだけで
デメリットがあまりに大きすぎる そうやね
SQL書かなくて良いとかもうそっぱち
ORMが一時期流行ったけど手間が増えただけ Railsでオブジェクト志向ってどうやるん?
rubyでオブジェクト志向はわかるけどさ
viewってできるの移譲ぐらいでオーバーライドやらファクトリやらできないよね? >>922
Railsに限らずオブジェクト指向というのは
フレームワーク(及びそのプラグイン)を作るために使うもの
フレームワークを導入すると、単純なコードを
埋めていくだけでアプリが作れる。作れるようになってる。
その結果オブジェクト指向を直接使わなくてすむ
だけどオブジェクト指向はフレームワークにとっては必須 いや意味分からん
名前と値段だけの商品モデルとデータベースがあって
それに在庫って要素追加するときどうすんの
それまでのモデル全部書き直すの? 在庫追加すりゃいいだけだろ。
それとモデルに何の関係があるんだ?
そもそもお前、名前と値段だけというなら
その商品モデルには何もコード書いてないだろ 無料のRails チュートリアルをやればよい
それが難しすぎるなら、この本
改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018/9/7 Railsはむしろ差分プログラミングしてこそ意味がある 今Railsで作ったアプリがHerokuで動いてる
新しくDBにカラムを追加したとき、いつも通りpushしてしまって大丈夫?本番データ飛ばないよね?
もしダメな場合は良い方法を教えてくれ 在庫は商品テーブルとは別に在庫テーブルを作りそうだけどなー ヘロク使ってるならアプリもう一つ作って試せばいいじゃん alterでカラム追加するんでしょ、大丈夫
心配なら自分で試さないと理解できないよ > 本番データ飛ばないよね?
と思っている場合、たいてい吹っ飛ぶw 表の構成を変えるのに、テストしないのか?w
普通は、何日も掛けてテストして、運用も止めて、表もデータも再構成する。
全部データもバックアップして、migrate の失敗に備える おニューのサイトならいいんだけど
既存のサイトを変更しようとするとしんどい railsってラピッドプロトタイピングが持ち味だよね?
railsをAPIモードで動かして、フロントをJavaScriptフレームワークにする構成だと開発速度落ちない?
erbでhtml書いたほうが早い気がするんだけど Railsを選択したら全てのフロント用フレームワークは捨てなければならない YouTube の伊藤淳一の動画に、Rails から、Vue.js を使うのがある
>>735-736
を参照 >>937
落ちないよ
それで落ちるようならJavaScriptフレームワークを使ったら開発速度が落ちると
言ってるようなもんだし、事実はそうじゃないしね Rails でモデルの検索フォーム作るときって
データベースなしの検索フォーム用のモデルに set_attr して form_for 使うのと
モデルなしで form_tag 使うのどっちがきれい? >>942
HTML VS JavaScriptフレームワーク
であれば、後者のほうが開発速度落ちるのでは? Rubyが今大人気!!
世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
https://gigazine.net/news/20181116-top-programming-languages-2018/
さすがRuby!貫禄のランクイン!!
Railsで作られたサービスでの集計ということを差し引いてもすごい! 「一般的に新しいプログラムはJavaScriptやJava、Pythonで書かれる可能性が高い一方で
Rubyで書かれる可能性が低いとみられ、今後も主要なプログラミング言語間の格差は開いていくのではないかとGitHubは考えています」
やっぱ凋落傾向やねー
良い言語だと思うんだけど、他の言語がRubyのいいと思える場所をガンガン取り入れたし、
もうアドバンテージがなくなってるのかねぇ? >>946
> GitHubは考えています
オメーは何言語から生まれてきたサービスなんだ?ああ〜ん?生みの親ディスってんじゃねーぞコラァ!? GitHub「使える道具は使うし、使えなくなったら捨てるまで」 Rails は書くのは楽なんだけどなー
人のコード読むのがまじできつい > 一般的に新しいプログラムはJavaScriptやJava、Pythonで書かれる可能性が高い一方で
JS は分かるとして、Java?Java ねぇ…そうなのかな…という印象 もともと、Javaの冗長さがバカバカしくてRubyに移ってやったわ! みたいなのあったやん
でも今はJavaも相当に良くなってるからなー
ttps://qiita.com/dossari-book-archive/items/ad4f7bcaaebca6281154
自分はこの人の意見にかなり同意。細かい文法から環境まで良くなってる。
Kotlin使う必要あるか?ってくらい。 レス数が950を超えています。1000を超えると書き込みができなくなります。