ruby - 在ror中正确的将变量传到view的做法是怎么的?
黄舟
黄舟 2017-04-21 11:17:50
0
4
775

初学ruby,ror中生成了一个controller和view,代码如下:

class MyController < ApplicationController
  def index
    @output="123"
  end
end

我的问题是,为什么变量必须加上AT才能传入view?如果去掉AT,就会报错,AT是什么关键字还是框架约定?什么原理?如果可以请告诉我通识的写法,谢谢

也许这个问题太无聊,但我不太清楚该如何描述,所以也没有搜索到相关信息。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(4)
巴扎黑

@var dalam Ruby ialah pembolehubah contoh, yang boleh diakses dalam semua kaedah kelas untuk pembolehubah yang tidak mengandungi @, skopnya adalah dalam kaedah semasa.

ROR ialah untuk memaparkan templat dengan memanggil kaedah lain selepas kaedah semasa dilaksanakan. Dengan cara ini, cara paling mudah untuk menghantar pembolehubah antara dua kaedah ialah menggunakan pembolehubah contoh. Jika anda menggunakan pembolehubah biasa dan melebihi skop, ralat secara semula jadi akan dilaporkan.

Ty80

Pembolehubah yang bermula dengan @ ialah pembolehubah contoh dalam Ruby Sebaliknya, pembolehubah yang bermula dengan @@ ialah pembolehubah kelas.
Dalam Rails, data dihantar antara pengawal dan pandangan melalui pembolehubah contoh. Proses ini adalah lalai dan tidak perlu dilalui secara eksplisit.

Hanya ingat peraturan ini.

Peter_Zhu

@ dalam Ruby adalah bersamaan dengan diri dalam Python

黄舟

Gunakan pembolehubah bermula dengan @ sebagai pembolehubah contoh.
Dalam senario anda, apabila anda memulakan permintaan http, mekanisme penghalaan rel sepadan dengan kaedah indeks MyController untuk respons Jadi perkara berikut akan berlaku:
1. Mulakan contoh MyController dan laksanakan kaedah indeks.
2. Tetapkan pembolehubah contoh @output pengawal kepada '123'.
3. Memandangkan anda tidak menyatakan sebarang pemaparan secara khusus, index.html.erb akan dipaparkan secara lalai
4. Salin semua pembolehubah contoh pengawal (alih keluar beberapa yang tidak sepatutnya disalin)
5. Segerakkan pandangan dan tetapkan pembolehubah tika yang baru disalin daripada pengawal kepada paparan.
6. Dengan cara ini, anda boleh mendapatkan pembolehubah contoh ini dalam paparan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan