【RoR】Ruby on Rails Part20©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
レールはあるけど、初心者過ぎて
レールがわからないから、レールを外れる
でいいんだよ とあるブラウザを作ってたような会社の Rails のコードを読んだら訳が分からなかった。w
きちんと段階を踏むとか、英語の資料を読みあされるとか、
gem で提供されるコードの中まできっちり読むだけの時間と根性があるなら別なのかも知れないけど、
いきなりあれに触れてもどうしようもないというのが素直な感想だったなあ。 プログラミング歴6ヶ月の僕が自社サービスRailsエンジニアになりました!〜実際の転職活動について〜|ゆうすけ|note
https://note.mu/ysk1180/n/n1b6ce132dbb6
僕はなぜ銀行を辞めたのか、なぜITエンジニアになったのか (+ 実際の転職活動について)|ゆうすけ|note
https://note.mu/ysk1180/n/nd5d55b19193e >>684
自分でRail引いて走ってたら
後から誰もついてこなくて別のRailが出来てた件 【ホリエモン】なんでみんな就職するの?やる気がない人ほど起業して利益率の高い仕事を選択し、有望な者に投資しろ
https://www.youtube.com/watch?v=y3WFObrOIoQ
ホリエモンのQ&A vol.155起業のすすめ
https://www.youtube.com/watch?v=2n1O4oUeIXg
堀江貴文「大企業に就職なんて、とっくにオワコン」「今の時代、金ですらオワコン」
https://www.youtube.com/watch?v=gSvIk_Bnwlo
堀江貴文の名言がすごい!「つまらない仕事なんか今すぐ辞めろ!楽しいことだけやれ!」
https://www.youtube.com/watch?v=4w3XOl5CoU8
堀江貴文 決められたレールの上を歩く⇒人生終了で、自殺者増える
https://www.youtube.com/watch?v=CYRo8o2Y_D8
【堀江貴文】※サラリーマン必見!君らいい加減仕事辞めたら?wはっきり言って全部無駄だ!!
https://www.youtube.com/watch?v=IgyRIVdvxhk
【与沢翼】労働収入を高くしても無駄!税金でほとんど持っていかれますよ。金持ちになるにはたった2つしか方法がない
https://www.youtube.com/watch?v=A-5lQ2rDmc0&t=354s
【与沢翼】サラリーマンとして生きるのはリスクでしかない。従業員は創業者に利用されているだけだということに気づきなさい
https://www.youtube.com/watch?v=uPoTvbr5VDk&t=204s
これからは個人の時代!ヒカルは話が上手いしヒカキンは編集が上手い。
これからの通貨の未来はどうなるのかも話そう
https://www.youtube.com/watch?v=4hQngvBCugA
個人が大金を稼ぐ!ライブ配信時代が本格的にやって来てその領域は
さらに拡大していき無名から著名になる人も増加する
https://www.youtube.com/watch?v=1H0R-kBtUOo #new.html.erb
<%= simple_form_for @math do |f| %>
<%= f.input :num_1 %>
<%= f.input :num_2 %>
<%= f.button :submit, "OK!" %>
<% end %>
class CreateScores < ActiveRecord::Migration[5.2]
def change
create_table :scores do |t|
t.integer :num_1
t.integer :num_2
t.integer :ans
t.timestamps
end
end
end
num_1 と num_2 の積を計算して ans にに保存したいです。
よろしくお願いします。 ぼ、ぼ、ぼくは、お、お、おなにーが、す、すきなんだな、、 【毎年20万人、定住″】 なぜ移民が必要なのか? データだけであなたは強烈に思い知らされるだろう
http://rosie.5ch.net/test/read.cgi/liveplus/1529201770/l50
日本人が毎年30万人減ってるので、チャンコロをじゃんじゃん補充しまーす! プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
QE3KN AirbnbがReact Nativeをやめたことに対する世間の反応 - Togetter
https://togetter.com/li/1239438 サーバーサイドはPHPでCGIが書ける程度で
RailsもRubyも入門サイトを1日読んで勉強した程度の初心者です
link_to t('xxx.yyy'), zzz, method: :delete, data: { confirm: t('xxx.yyy') } %>
で表示されるリンク先や文字列や処理ってどこに書かれているんでしょうか
当然ディレクトリ構成とかが違うので探しかたを教えて頂きたいです
viewに出力される HTML を吐く ruby が入ってて
controllerに変数設定や処理が書かれてるって程度の知識何ですが
controller内にそれらしい処理をする関数?はあるんですが
関数名とかが全く一致していなくて config/route.rb にもそれらしい記述が無くて
xxx.yyy が含まれるファイルを controller ディレクトリ内で検索しても出てこないんですよね…
どうやって view のリンクをクリックした時にコントローラーを呼び出してるのかよくわかりません
初歩的な質問で申し訳有りません そうですよね
レベルの低い質問をしてすいませんでした
ウェブアプリ書くならRailsがいちばん簡単って言われたんですが
どこまでが予約語でどこからがユーザ定義なのかもわからないし
どのファイルに何が書かれてるかがわからなくて
requireやinclude宣言もないし
Railsに手出すのは諦めます
スレ汚し失礼しました xxx.yyyで探しても出てくる訳ない罠
link_toで検索汁 いろんなスレで文脈ガン無視でRubyの宣伝してる糖質に騙されちゃったんだね、かわいそうに。
簡単だろうがなんだろうが、黎明期からRubyはドキュメント軽視。他の言語に差を空けられた原因のひとつでもある。
困って検索してもてきとーなやつらがてきとーにやったらたまたま解決できたというようなてきとーなメモ書きしか出てこないよ。 「ソースが仕様だソース読め」
分からないときにこれを実践できる人じゃないとRubyを使いこなすことは出来ないよ。
これは教祖様が言ってたことで取り下げてないから今でも有効、従ってRuby信者も反論できないRubyの真理だよ。
てきとーに書いたらなんか知らんけど動いたやったーって程度でいいなら別だろうけどね。 >>719
僕は英語が読めないんですってアピールしなくてもいいのに (Railsをさわったことがある人が1から動かすまでのアプリを作るのは)簡単
環境構築やさわり方覚えるまでのハードルが高すぎるんだよな
かといって大規模なシステムだとパフォーマンスぼろぼろだし
サーバーサイドJavaやPHPがかけるならRailsなんてて出さなくていいぞ >>718
ありがとうございます
おかげさまでlink_toだけはなんとかわかりました
これメソッドだったんですね
rubyは()なしでも2単語目以降が引く数のメソッド呼び出しになるんですね…
zzzというか2つめの引数にurlがはいってることまではなんとかわかりました
疑問なんですが自分で a タグ生成するのと何か違うんでしょうか
単に記述が短くなるように用意されてるってことでしょうか
タグ出力自動でやっちゃうと改行とかHTMLのインデントとかぐちゃぐちゃになりそう…
あと実際に生成されるHTMLのURLがrouteにかかれてなくて
このリンクをふんだら処理がどこにとぶのかがまたわからなくてつまってます
routeにマッチしてないのに404以外になるのってなんでなんでしょうか
configにも大量のファイルがあるのでどっかにもroute情報がかかれてるんでしょうか
エントリファイルからinckudeやrequireしてくれてたら追跡も楽なのに次にどのファイルよめばいいかがぜんぜんわからない
controllerのなかにそれらしい処理内容自体のメソッドがdefされてるんですが
viewのなかに1文字もそのメソッドがかかれてなくてどこから呼ばれてるんでしょうか >>722
パフォーマンスボロボロになるような規模のサイトなんてそんな数ないんだから気にしなくていいよ 「たのしいRuby 第5版、2016」を3回読んで、
無料のRails チュートリアルをやる
さすがに、Rails でも、勉強せずにはできない
Progate でも良い
puts a
p a
など、さすがに、これもやった事がない人には無理 view不要なアクションだけ追加するのってどうするの?
リンクをおすとajaxで送信だけしてDB更新するけど
もとの画面はペーj期遷移せずにajaxでメッセージだけ表示するみたいなことがやりたい ページ遷移なしで表示かえるってサーバーサイドでは無理
javascriptでDOMいじるしかないだろ 調べてみたけどメッセージ表示するだけでPushStateとかいらない
結局標示変更する部分はjQuery使ってるっぽいし何が違うかよくわからない
jQueryは分かるけどcoffeeとかかけないし
kinktoにremoteってかいてアクションを追加しなくてもjs側でサーバーへのリクエストを作ってくれるってこと? ダイアログでメッセージ表示するなら JavaScript を書くしかない
coffee 分からなかったら生 JS でも書ける >>731
coffeeはやめとけ。もう未来はない。
Railsユーザーの全員がいつ非推奨になるのか?って思ってる RailsとjQueryは組み合わせ方さえわかれば相性がいい
RailsにはTurbolinksという機能がある。PushStateとかTurbolinksの機能
重要な点をざっくりいうとAjaxを使い、ページ遷移しないということ
ということでページ遷移しないという前提でコードを書く必要がある。
何をしなければいけないかというと、サイトで使用するJavaScriptは最初に
全て読み込むということ。たとえ他のページで必要なコードだとしても。
JavaScriptはページ単位で作るのではなく、サイト単位で作る
そのために現在のページに要素が表示されていなくても、
そのためのコードを実行させる必要がある。これがjQueryと相性がいい
例えば $(document).on('click', '.hoge', function() {・・・}) と書くと
現在のページに .hoge が表示されてなくても、表示された時から使えるようになる
また $('.hoge').show(); とか書いた時 .hoge が無くてもエラーにはならない
jQueryは0個以上の要素に対して処理を一括で適用する。
その仕組みがページを遷移しなくても要素が増えたり減ったりする
Railsのデフォルト機能のTurbolinksに対応させるのに相性がいい
下手なやつが作ると、Turbolinksが提供するturbolinks:loadとかのイベントで
ごちゃごちゃやるハメになる 1週間ぐらい、じっくりと腰を据えて、無料のRails チュートリアルをやれば?
学生でも、Rails合宿に行って、じっくり勉強したりする
まず、各フレームワークの仕組みを勉強しないといけない。
そのフレームワークのやり方以外の方法で、やってはいけない
フレームワークでは、フレームワークのやり方を守るというのが、一番大きいテーマ。
Rails のやり方と違うやり方をすると、コードレビューで必ず直される
YouTube に、伊藤淳一(junichi ito)の動画も、一杯ある YouTube に、伊藤淳一の動画が一杯ある
Junichi Ito
https://www.youtube.com/channel/UCekUxQPwLf-YCxbGtqeEmxg
【デバッグ解説動画】RailsアプリでAjaxがうまく動かないときに確認するポイントあれこれ
https://youtu.be/Nf0QjFx5O5k
Rails 5.1で作るVue.jsアプリケーション 〜Herokuデプロイからシステムテストまで〜
https://youtu.be/ycOeM2umXkY ajaxの方はjsで何度も実装したことはあるけど
Railsの方がまだ慣れてなくてよくわからんのよね
ためしに描いてみたけど view 見つからんって怒られた
[config/route.rb]
member action 追加
[views/index.html.erb]
link_to でヘルパーパスに飛ばしてオプションで remote:true と id:ajaxつけた
メッセージエリアの空の div#msg 追加して
$(‘#ajax’).bind("ajax:complete", function(xhr, response, status){
let result = JSON.parse(response.responseText)[0];
$(‘#msg’).html(result);
})
[controllers/]
アクション定義にDB更新して format で結果メッセージ返すコード追加
viewいらんとおもうんだけどアクションだけってかけないの? これもう action 追加とかしないで
link_to から js の onclick メソッドに飛ばして
js でリクエスト投げる方が早いんだが
Rails 的には汚い書き方になるん? いやすまん 何言ってんだ
いずれにしろDB更新するのはサーバーサイドで書かにゃいけないからコントローラーアクションは必要だったわ フロントエンド部分をAjaxでやるのなら
Rails側はモデルのメソッドを直接呼べればそれで十分だと思うよ。
もちろん外部からアクセス制御は必要になるけど
それがコントローラの役目になるんだろうけど大したことしないから
コントローラー取り払ってモデルとコントローラを合体させたものが
作れたらそれが良い remote:true がturbolink ってやつなのね
でこれをつけると
respond_to do |format|
で format.js にマッチするらしくて
今までバカの一つ覚えで format.html に render の上書き描いてたから
これを通らずにでデフォルトの render テンプレ探しに言ってたっぽい
format 関係無く
render text ‘終わった’ ってかけば
view テンプレートは探さなくなってエラー消えたわ
けど結果受けとってDOM変えるのが動かん
リンクに ajax 変更するDOMに msg ってIDつけて
$(‘#ajax’).bind("ajax:complete", function(xhr, response, status){
let result = JSON.parse(response.responseText)[0];
$(‘#msg’).html(result);
})
こんなJS埋め込むだけじゃダメなんか コントローラーでtextを返してjsでうけとるんじゃなく
js自体を返せばいい
リンクをクリックしたらブックマークレットみたいにJSが動いてDOMが変化するイメージ >>742
違うぞ。色々書いていたが書き込めなかった remote:true がturbolink ってやつなのね
でこれをつけると
respond_to do |format|
で format.js にマッチするらしくて
今までバカの一つ覚えで format.html に render の上書き描いてたから
これを通らずにでデフォルトの render テンプレ探しに言ってたっぽい
format 関係無く
render text ‘終わった’ ってかけば
view テンプレートは探さなくなってエラー消えたわ
けど結果受けとってDOM変えるのが動かん
リンクに ajax 変更するDOMに msg ってIDつけて
$(‘#ajax’).bind("ajax:complete", function(xhr, response, status){
let result = JSON.parse(response.responseText)[0];
$(‘#msg’).html(result);
})
こんなJS埋め込むだけじゃダメなんか 何が書き込み禁止されてうrんだか。
リンクリンクリンクページページページ remote:true がTurbolinks
remote:true がTurbolinks
remote:true がTurbolinks 何が書き込み禁止されてうrんだか。
リンクリンクリンクページページページ
remote:true がTurbolinks
remote:true がTurbolinks
remote:true がTurbolinks >>731,737,739,740,742 は自分だけどそれ以降はちがうぞ? >>736
の、Rails + Vue.js の動画を見れば?
Ajax で、DB を更新して、画面表示してる ルートとヘルパーパスについて聞きたいんですが
既存の route.rb が
resources か action URL の1行だけで
member や collection の記述がないんですが
この場合パスヘルパーは使えないんでしょうか
resources :users do
member do
get :action
end
end
みたいにかけば action_usr_path は使えるんですけど
resources users
get 'users/:id/action’ => 'users#action’
とだけ書いた場合
追加した action_user_path が undefined になります
view には usr_path() + ‘/action’ と書くしかないですか? エラーのハンドリングってどうしたらいいの?
調べてもエラーのハンドリングは勝手にやってくれるから
自分でやんなくていいって記事ばかりなんだけど
データベースアクセス中に何かおこったら全部502とかになっちゃうので
エラーページに飛ばしてメッセージ表示するぐらいはしたい
フォームボタン押したらアクション先で502が起こった時どうやって捉えたらいいの? railに乗る気が無いならrails使うべきではない >>753
は? 502エラーで表示される画面を変えるだけじゃん
すでに502エラーページに飛んでるだろ?
すでにメッセージ出てるだろ?
その画面をお前の好きなデザインにするだけだろ >>752
>get 'users/:id/action’ => 'users#action’
こんな風に文字列で定義しちゃうとパスヘルパーは定義されないので
user_path(id) + ‘/action’とするしかないですな 英語のエラー画面が出れば、それを日本語にするだけじゃないの?
国際化は自動的にやってくれないの?
設定ファイルに日本語と書けば、自動的に日本語に変わらないの? エラーを日本語に翻訳されたら余計判らなくなるからやめれ >>755,758
指示もよくわからないんだけど
設計時に意図してない502エラーが出るから
それをハンドリングして適切なエラー画面を出してくれって意味かなと
ただアクション内で502エラーだけを捉える方法
ってあるのかよくわからなくて
エラー何でもかんでも rescue するのってよくないよね? あと
フォームの値チェックして
OKだったら確認画面だして
それもOKだったらDB更新って仕様なんだけど
3つの遷移全部アクション書かなきゃダメ?
確認画面だしてから値チェックしてエラーor正常ならDB更新なら
フォームに confirm つけるだけでアクション1個でいいんだけど
値チェックしてから確認画面出すのって1回サーバー経由しないと無理だよね? そういうの面倒だからみんなjavascriptいっちゃうんだな ajaxわからない
remote:true でコントローラから js 帰ってくるでしょ?
controler で
render js: “$(‘#popup’).html("<%= j (render ‘point_form') %>”);”
って書くと動かなくて
テンプレートの js.erb に
$(‘#popup’).html("<%= j (render ‘point_form') %>”);
って書くと動くのなんで?
この1行のためにテンプレート増やしたくないんだけど 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 のほうな なぜこんなに順位が落ちてるんだろう
パフォーマンスかねぇ?いい言語だと思うんだが 省略してこう書ける
こういう風にも書ける
みたいに書く分には好きなように書けるが読む人は全部知ってなきゃ読めないし書いた人違うと毎回別の言語みたいでチームだと採用しづらいんじゃない?
あと単なるエイリアスと、そう見せかけてちょっとだけ違う機能が乱立しすぎで混乱を招くとか。 ■ このスレッドは過去ログ倉庫に格納されています