使用rails构建站点

时间:2015-10-04 07:54:45

标签: ruby-on-rails templates backend

我是编程新手。一位朋友建议我从rails开始。一旦进入,我意识到,Rails对于非程序员来说有着陡峭的学习曲线。然后我遇到了这个教程https://www.youtube.com/watch?v=quLmIuIrIigaches   它教导如何在12分钟内在本地建立一个网站... JustIt说... 1.制作一个rails应用程序 2.获取html模板 3.将js,css,images添加到rails_app>> apps>>视图中生成的相关文件夹中。 4.网站已准备就绪

这就是轨道吗?其他教程很难。或者你能给我一些教程,直接让我进入一个真实的生活项目并一路教导吗?

谢谢:)

2 个答案:

答案 0 :(得分:2)

  

我是编程新手

一些最优秀的程序员在计算机上。他们对结构,流程和安全性有深刻的认识。创造数字体验所需的艺术性。

如果您不熟悉编程,请注意查看您对系统的兴趣;如果它是游戏,请尝试查看如何创建DOOM之类的游戏等。这将有助于您阅读有关如何执行通用事物的教程。

<强>粉底

如果您非常新编程,使用HTML和CSS构建自己的网站。这将使您了解Rails的工作原理。

以下是制作HTML / CSS网站的一些基本教程(您会对有多少人开始制作基础网站感到惊讶):

阅读HTTP protocolHTML如何适应&#34;网络&#34;,world wide web != the "Internet"was invented in 1989 by Tim Berners Lee

了解Windows95 changed the game的方式,Marc Andreessen如何通过MosaicNetScape将人们联机。 Apple如何通过iMac和iPhone让更多人上网。

了解Elon Musk及其快乐的乐队如何开始通过亚马逊,Zip2,Paypal,谷歌等公司将互联网货币化。

Rails 是所有这些东西的升华。

它还可以帮助您了解网络应用程序不是财富的黄金门票。 真人使用互联网;你的应用程序必须以某种方式使它们受益。

使用入门

这是一个教程:

  1. 下载&amp;安装Ruby&amp;您系统上的RubyGems
  2. 如果您正在使用 Windows ,则可以使用RubyInstaller,或者更好的是RailsInstaller。它建议您使用Linux来开发Rails,但它并不重要。我们使用Windows,人们总是提出问题:)
  3. 安装Ruby后,在cmd中,您可以输入gem install rails。这将安装Rails Gem (在一秒内解释)
  4. enter image description here  4.安装 Rails 后,您就可以开始开发&#34; app&#34;。

    为了阐明 Ruby Rails 的作用,你必须要理解Ruby是语言,Rails是框架。

    这意味着在处理开发环境(OS)时,您将主要处理 Ruby 安装。 Rails是一个比Ruby更高的抽象层。编程问题通常是 Rails 问题,环境问题通常是 Ruby 问题。

    RubyGems 是Ruby的依赖库。虽然Rails几乎可以与所有Ruby Gems完美配合,但宝石适用于 Ruby 。大多数人都不知道Rails只是Ruby的 gem ......

    First App

    这里是如何制作一个简单的应用程序(它看起来像狗屎):

    在您的CMD中,cd到目录,然后输入rails new app_name

    enter image description here

    这会将所有Rails文件放入您cd进入的目录中。

    这将允许您启动Rails服务器。但是,在执行此操作之前,您需要确保拥有数据库。

    Rails随附SQLite,我从未使用过。显然,它将数据存储在文件中,这使您能够开始在门外开发。

    我们在某些共享主机上使用简单的MYSQL数据库服务器。这使我们能够将其用于开发,它增加了延迟但保留了数据完整性。

    我会让你问另一个关于db的问题。这本身就是另一回事。

    -

    一旦您生成了rails应用,您就可以启动Rails服务器

    通过在cmd中输入 rails s / rails server 来执行此操作:

    enter image description here

    (对不起,这是我能找到的最佳照片)......

    标准的Rails服务器是一个名为WEBrick的服务器。您可以稍后更改,但我现在不会进入此状态。

    您需要知道的是,如果您能够成功启动服务器,这是个好消息,并且您可以http://localhost:3000访问它;我们使用http://lvh.me:3000做同样的事情。

    一旦你达到这一点,你就可以做一些编程了:

    <强> MVC

    Rails由3个组件组成 - modelsviewscontrollers(MVC):

    enter image description here

    MVC并不新鲜;许多其他框架使用它。由于许多人通过Rails进入编程,他们将模式归因于此框架,尽管这不正确。

    MVC模式非常简单(一旦你理解了):

    • 用户浏览您的网址
    • 请求已发送到您的服务器
    • 服务器软件将请求传递给Rails
    • Rails "middleware" stack处理请求,发送到相应的controller
    • ControllerModel(从数据库加载数据)
    • 中提取数据
    • Controller将数据插入view并将view呈现为HTML,layout
    • Controller将呈现的HTML传递回Web服务器,然后发送到浏览器
    • 用户看到动态更新的网页

    这意味着如果您想拥有一个简单的应用,则需要至少拥有modelviewscontroller

    要执行此操作,请浏览到您的Rails应用程序目录(开始时cd进入的目录)。下面的每个文件都是您应该编辑的文件(我们使用SublimeText):

    #config/routes.rb
    root "posts#index"
    resources :posts
    
    #app/controllers/posts_controller.rb (you have to create this)
    class PostsController < ApplicationController
       before_action :set_post, only: [:show, :edit, :update, :destroy]
    
       def index
          @posts = Post.all
       end
    
       def new
          @post = Post.new
       end
    
       def create
          @post = Post.new post_params 
          @post.save
          redirect_to @post
       end  
    
       def edit
       end
    
       def show
       end
    
       def update
          redirect_to @post if @post.update
       end
    
       def destroy
          redirect_to posts_path if @post.destroy
       end
    
       private
    
       def post_params 
          params.require(:post).permit(:title, :body)
       end
    
       def set_post
          @post = Post.find params[:id]
       end
    end
    

    这将意味着您必须创建某些views

    #app/views/posts/index.html.erb
    <% @posts.each do |post| %>
       <%= link_to post.title, post %>
    <% end %>
    <%= link_to "New Post", new_posts_path #-> will have to check the route %>
    
    #app/views/posts/new.html.erb
    <%= render "form", locals: {post: @post} %>
    
    #app/views/posts/edit.html.erb
    <%= render "form", locals: {post: @post} %>
    <%= link_to "Destroy Post", post, method: :delete %>
    
    #app/views/posts/_form.html.erb
    <%= form_for post do |f| %>
       <%= f.text_field :title %>
       <%= f.text_field :body %>
       <%= f.submit %>
    <% end %>
    

    -

    最后,您应该填充数据模型。为此,您需要确保已设置数据库基础结构;如果有,crtl+c 中按cmd停止您的Rails服务器,然后输入:

    $ rails g migration CreatePostsTable
    

    将在以下位置创建文件:

    #db/migrate/_____.rb
    class CreatePostsTable < ActiveRecord::Migration
       def change
         #### You'll have to add this part ### 
         create_table :posts do |t|
           t.string :title
           t.string :body
           t.timestamps
         end
       end
    end
    

    之后,请返回cmd并输入: rake db:migrate

    如果您的数据库设置正确,则应为Rails创建一个新的posts表进行交互。然后,您只需要一个 Model 来使用它:

    #app/models/post.rb ##-> you'll have to create this
    class Post < ActiveRecord::Base
    end
    

    完成后,再次启动Rails服务器(rails s中的cmd),然后访问以下内容:

    http://lvh.me:3000
    

    它应该显示一个按钮,说&#34; New Post&#34;。如果按下它,请输入一个帖子,如果一切正常, 就会出现。

答案 1 :(得分:0)

谷歌搜索查询“rails tutorial”将其作为第一个链接,并且(主观地)是最好的链接:https://www.railstutorial.org/book。所以,如果你真的想学习轨道,那就去看看吧。