Ruby中的方法可见性(公共的、受保护的和私有的方法)已经在等地方得到了很好的解释。但在Ruby on Rails中,由于框架的设置方式,它似乎与常规的Ruby应用程序略有不同。那么,在Rails模型、控制器、帮助器、测试等中,什么时候使用受保护或私有方法是合适的?
编辑:感谢你到目前为止的回答。我理解Ruby中受保护和私有的概念,但我更想了解这些类型的可见性在Rails应用程序的各个部分(模型、控制器、帮助器、测试)的上下文中的典型使用方式。例如,公共控制器方法是动作方法,应用程序控制器中的受保护方法用于需要由多个控制器访问的“助手方法”,等等。
有没有可能设计一种静态类型的JIT语言来构建像Ruby on Rails这样的web框架,试图获得静态类型语言的速度?
html中的嵌入式Ruby (eRuby)是Ruby on Rails的一个特性,我看不出有什么明显的方法可以在静态类型的JIT或编译语言中实现。
我不熟悉Ruby on Rails实现的内部原理,但更普遍的是,Ruby on Rails是否还有其他很难在静态类型的JIT或编译语言中实现的特性?
我知道Rails是一个构建在Ruby上的web框架。Ruby是Rails使用的独立于Rails的语言。我不知道是将两者分开使用还是使用Ruby on Rails更好。
或者Ruby on Rails仅仅使用了Ruby代码和Rails代码就是一个完全不同的框架?你能不能同时安装Ruby和Rails,并将它们设置在一起?如果上述情况属实,那么Ruby on Rails是什么?与将Ruby和Rails设置为一体相比,使用Ruby on Rails有什么好处?
在Rails教程中的Ruby类和继承介绍中,Michael问为什么在Rails控制台中运行static_pages_controller.rb时,一个操作在调用StaticPagesController对象时返回nil:
class StaticPagesController < ApplicationController
def home
end
...
end
rails控制台中的:
>> controller = StaticPagesController.new
=> #<StaticPagesController:0x22855d0>
我是Ruby on Rails的新手,实际上,我正在尝试在我的Ruby on Rails页面中实现一个搜索功能。这是一个页面,您可以在其中添加用户到数据库,您还可以编辑或删除他们。这是我的索引页,其中列出了所有这些用户,并且在该表的上方有一个搜索功能(它只是一个文本字段和一个按钮)。
我现在想做的是:我想实现一个搜索功能,可以搜索姓氏、房间、钥匙、经理等。我已经尝试了一些东西,但我最终还是不知道如何实现搜索功能(我应该写什么,我应该写在哪里?)我从模型和控制器那里听说了,但无论如何我不是百分之百确定)。如果你能帮我度过难关,我会非常高兴!
干杯,再见!
假设我有一个糟糕的控制器代码:
class MovesController < ApplicationController
def create
eval(params[:input])
end
end
一段时间以来,我一直在寻找一种最好的方法来沙箱执行不受信任的代码,并且无意中发现了ruby特性:中的讨论。
这个问题的真正解决方案是在Ruby之上运行一个沙箱。我在一个基于ptrace的沙箱中在上运行不可信的代码。查理·萨默维尔
关于这个问题的进一步研究没有得到更多的纯粹的ptrace文档。在Ruby和Rails中是否存在使用ptrace的已知实践/库,或者是否需
我的目标是用PHP框架(如CakePHP或Yii)或用Ruby on Rail编写web服务程序。
我有Java和Perl方面的经验。我真正喜欢Java的一件事是Eclipse --它是为Java开发的,在处理对象时非常有用。尽管Perl有自己的Eclipse插件,但没有哪个地方比使用Eclipse for Java更好。
我的问题是哪个框架会更好- Yii/CakePhp还是Ruby On Rails。我试了试Yii,我花了几分钟的时间来设置基于SQL表的php对象。我想知道Ruby On Rails是不是很简单。虽然看起来Ruby On Rails有更多的支持……
Eclipse与Ruby
我刚刚得到了罗宾·尼克松的“学习PHP,javascript和MySQL”,其中的第一句话是:
“PHP和MySQL的结合是动态的、数据库驱动的wev设计的最方便的方法,面对来自集成框架的挑战--比如Ruby on Rails--这些框架比较难学,它们就能保住自己的地位。”
我想我的问题是,我认为PHP和javascript是访问数据库的唯一方法,并且一直认为Ruby on Rails是一个内容管理系统或类似that...So的东西。在制作数据库驱动的网页时,Ruby on Rails或其他我不熟悉的方法有什么优势?
有一个创业板,将一个before_filter附加到Rails应用程序中:
class Railtie < Rails::Railtie
initializer "..." do
ActiveSupport.on_load(:action_controller) do
ActionController::Base.send(:include, Filter)
...
module Filter
extend ActiveSupport::Concern
included do
append_before_filter :set
根据Ruby on Rails约定,控制器名称是复数形式的,而模型名称是单数形式的。例如:一个用户控制器,但一个用户模型。
rails generate controller Users
rails generate model User name:string email:string
现在打开迁移文件
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name
t.string :email
t
我是一个前端开发人员(超文本标记语言,CSS,JS和jQuery),我知道一些PHP。我正在尝试理解Ruby/Ruby on Rails是什么。
在上,它说"Ruby On Rails是一个开源的web框架,它为程序员的快乐而优化“。
在实际的,非梦幻的术语中,Ruby/Ruby on Rails有什么特别之处,像我这样的人如何从学习使用它中受益?
我的问题很简单:这是谁的姐姐?coldFusion,jsp,apache?
是干什么的呢?
我有一个我自己构建的Ruby on Rails应用程序,但它需要由专业设计师重新设计。我知道大多数设计师只是给你Photoshop模型和切片,但我想聘请人来实现设计,这意味着重写css样式表和erb和haml模板。
问题是,我希望其他人实现重新设计,而不将我的代码暴露给重新设计实现者。此外,我希望有一种方法可以让设计人员在Ruby on Rails站点上实现重新设计,而不必了解Ruby on Rails的任何内容。这些场景中的任何一个都可以使用软件工具的任何组合吗?
我想我正在寻找类似Zope页面模板的东西,但用于Ruby on Rails。