小编Sim*_*tti的帖子

Rails中的自定义路由

我正在尝试在我的网站上创建一些不错的链接.我刚才正在通过标签创建搜索,我想知道是否可以创建这样的好路线:

http://myapp.com/search/a_very
http://myapp.com/search/nice_set
http://myapp.com/search/of_tags
Run Code Online (Sandbox Code Playgroud)

或者至少像这样:

http://myapp.com/articles/search/a_very
http://myapp.com/articles/search/nice_set
http://myapp.com/articles/search/of_tags
Run Code Online (Sandbox Code Playgroud)

我已经用link_for做了一些实验,并且发现在那里不可能避免动作?参数=值构造.我也试图避免地址中的任何"数字东西",比如在动作之间发送ID等等.无论如何,我只是一个初学者而且我完全不知道我应该去哪个方向.

它应该是一些神奇的路线吗?如何将这种魔力应用于我的榜样?我是在经营"配置惯例"范式吗?

ruby routes ruby-on-rails

0
推荐指数
2
解决办法
7335
查看次数

Ruby on Rails中没有显示的表单错误

我正在尝试使用Rails创建一个注册表单.它工作正常,但它不会显示验证中的错误(它会验证,但错误不会显示).

这是我的文件:

# new.html.erb
<h1>New user</h1>

<% form_for :user, :url =>{:action=>"new", :controller=>"users"} do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </p>
  <p>
    <%= f.label :password %><br />
    <%= f.password_field :password %>
  </p>
  <p>
    <%= f.submit 'Create' %>
  </p>
<% end %>

<%= link_to 'Back', users_path %>
Run Code Online (Sandbox Code Playgroud)
# user.rb
class User < ActiveRecord::Base
    validates_presence_of :name
    validates_presence_of :password
end
Run Code Online (Sandbox Code Playgroud)
#users_controller.rb
class UsersController < ApplicationController

    def index
        @users = User.all
    end


    def show
        @user = …
Run Code Online (Sandbox Code Playgroud)

ruby forms ruby-on-rails

0
推荐指数
1
解决办法
6080
查看次数

使用Thinking Sphinx Rails插件进行多关键字搜索

我正在使用sphinx搜索引擎和思考sphinx插件的rails.

我有一个工作模型,其标题属性由sphinx索引.我想搜索多个作业并捕获任何匹配1个或更多关键字的作业.

例如...

Job.search("rails,django,symfony")

...并获得一系列具有以下标题的作业对象"rails developer for hire","寻找django向导","任何人都知道symfony?"

我将这三个单独的作业存储在我的数据库中并编入索引.当我运行上面的搜索时,我得到一个空数组.当单个查询术语自行提供时,就会找到每个作业.

我宁愿不做这个Job.search"rails"Job.search"django"Job.search"symfony"

有谁知道如何将多个关键字传递给sphinx搜索引擎?

search sphinx ruby-on-rails thinking-sphinx

0
推荐指数
1
解决办法
1657
查看次数

使用Rails应用程序冻结数据库

所以对于一个课程,我必须将我的Rails应用程序交给我的教授.当他试图启动它时,确保一切顺利的最佳方法是什么?另外,无论如何我可以冻结数据库并发送它,以便他拥有我在应用程序中使用的所有数据吗?

非常感谢.

ruby database ruby-on-rails

0
推荐指数
1
解决办法
111
查看次数

Rails:Ajax:更改Onload

我有一个for的web布局看起来像这样

<html>
  <head>
  </head>

  <body>
    <div id="posts">
      <div id="post1" class="post" >
         <!--stuff 1-->
      </div>
      <div id="post2" class="post" >
         <!--stuff 1-->
      </div>

      <!-- 96 more posts -->

      <div id="post99" class="post" >
         <!--stuff 1-->
      </div>
    </div>          

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我希望能够加载并呈现一个空白的页面,然后在页面加载时调用一个函数进入并加载帖子并动态更新页面.

在Rails中,我尝试使用"link_to_remote"来更新所有元素.如果它是ajax请求(request.xhr?),我还调整了posts控制器以呈现帖子集合.它运行良好,速度非常快.但是,单击链接会触发空白div的更新.我希望在加载页面时发生相同的操作,这样我就不必输入链接.

是否有一个Rails Ajax助手或RJS函数或Rails中的东西,我可以用来在页面加载和渲染(没有帖子)后触发加载"帖子"?

(如果推出了putsch,我将只从link_to_remote调用中复制生成的JS代码,并从主体上的onload处理程序调用它).

ajax ruby-on-rails onload

0
推荐指数
1
解决办法
2810
查看次数

我认为我的rails gem已经坏了

所以我正在使用一些ruby/rails代码在一台计算机上工作,并且工作正常.

然而,在另一台计算机上,我在尝试创建模型或运行服务器时遇到问题,看起来像是同样的问题.看看这个输出:

$>script/generate 
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:271:in `require_frameworks': no such file to load -- net/https (RuntimeError)
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:134:in `process'
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
    from /home/aaron/NetBeansProjects/online-scheduler/config/environment.rb:9
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/commands/generate.rb:1
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from script/generate:3
$>script/server
=> Booting Mongrel
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:271:in `require_frameworks': no such file to load -- net/https (RuntimeError)
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:134:in `process'
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
    from /home/aaron/NetBeansProjects/online-scheduler/config/environment.rb:9
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in …
Run Code Online (Sandbox Code Playgroud)

ruby gem ruby-on-rails

0
推荐指数
1
解决办法
1802
查看次数

我如何使用content_for来放置内容:yield

我在ruby 1.9.2,rails3.

所以我的网站有一些结构,

我想把菜单放在我的网页中间.

我正在做类似的事情(在application.html.erb文件中)

blahblahblah
<div id="menu">
   <%= yield :menu %>
<div>
blahblhablah
Run Code Online (Sandbox Code Playgroud)

我有一个文件menu.html.erb,它有网站的菜单结构.如果我想使用./layout文件夹中的文件作为该产量的一部分,我该怎么办?菜单?我想知道,如果我必须为每个控制器使用content_for,并且在每个函数中...... Btw,menu.html.erb对于每个控制器都会有所不同,这就是为什么我要让它产生的.

总之,我只是希望在任何地方都包含一个共同的共享menu.html.erb.

ruby ruby-on-rails ruby-on-rails-3

0
推荐指数
1
解决办法
773
查看次数

如何让ruby控制台识别控制器和模型中的代码更改

我正在为我的ruby模型添加新功能,并在我去的时候通过ruby控制台进行测试.我发现每次更改模型中的任何内容时都必须重新启动控制台非常烦人.有没有办法让ruby控制台不缓存或让它检查更新的代码而不重新启动它?

例如,我正在模型中创建一个新方法,在我进行更改后,我必须重新启动控制台并运行一些命令来重新加载所有内容.见下文:

script/console
require 'some_gem'
r = Region.find_by_name("some_region")
r.some_method
Run Code Online (Sandbox Code Playgroud)

如果我从区域模型更改high_x方法中的一行,我必须重复所有步骤才能看到我的更改.

ruby ruby-on-rails ruby-on-rails-2

0
推荐指数
1
解决办法
181
查看次数

为什么这个named_scope会创建一个NoMethodError?

我没有看到此代码在哪里创建此NoMethodFound错误,并且非常想要任何有用的建议.

这是错误消息:

NoMethodError in UploadsController#create
Run Code Online (Sandbox Code Playgroud)

我的模型的相关部分如下所示:

  named_scope :by_name, lambda { |marker_name| 
    {:conditions => ["marker_name = ?", marker_name]}}

  def self.parse_file(file)
    FasterCSV.foreach(file.path,:headers=>"first_row", :col_sep=>"\t") do |row|

    if $header_row == 1
       $markers = {}         # define global hash for marker id lookup
        $markers_arry = []    # define global array for marker names
        get_markers(row)
        $header_row = 0
        # done with header row; loop back to beginning for first row of actual data
        next
      end
...
 def self.get_markers(row)
    offset = 8    # this was determine by …
Run Code Online (Sandbox Code Playgroud)

named-scope ruby-on-rails ruby-1.8 ruby-on-rails-2

0
推荐指数
1
解决办法
1203
查看次数

Rails 3.1使文件夹成为公共文件夹

你好,我是铁杆新手.

在我的RoR app文件夹中,我有一个app/FOLDER我想公开的文件夹()(有些浏览器需要提供的脚本文件),我该怎么做?

ruby-on-rails ruby-on-rails-3

0
推荐指数
1
解决办法
2405
查看次数