小编ume*_*ezo的帖子

为Postgres工具设置Windows PATH

我无法通过Windows中的命令行访问PostgreSQL.虽然我能够创建和更新数据库,通过PGAdminIII访问它们,然后推送到Heroku,我无法使用psql命令通过命令行直接访问它们.

当我尝试使用该命令创建数据库时

$ createdb mydb
Run Code Online (Sandbox Code Playgroud)

PG文档中所述,我收到了消息

createdb: command not found
Run Code Online (Sandbox Code Playgroud)

文档表明,在这种情况下,"PostgreSQL没有正确安装.请尝试使用绝对路径调用命令." 果然,我可以通过输入文件的直接路径来创建数据库:

$ c:/postgreSQL/9.1/bin/createdb mydb
Run Code Online (Sandbox Code Playgroud)

这是否意味着可以重新配置路径以正确连接?或者我需要重新安装吗?我重新安装了几次,并且无法设置正确的路径.我目前已将/ bin和/ lib路径添加到我的系统和用户(:Umezo)路径中,但仍无法从命令行访问.

User variables for umezo
variable name: Path
variable value: C:\PostgreSQL\9.1\bin; C:\PostgreSQL\9.1\lib

System variables
variable name: Path
variable value: C:\PostgreSQL\9.1\bin; C:\PostgreSQL\9.1\lib
Run Code Online (Sandbox Code Playgroud)

任何有关如何修复我的分期付款的信息或反馈将不胜感激.

我的信息如下:

在这里这里主要关注这些来源.我安装了一个32位版本的9.1,因为有些消息来源提出了64位的问题.

PG download version: Installer Version 9.1 Win x86-32
Operating System: Windows 7 (64 bit)
Run Code Online (Sandbox Code Playgroud)

的pg_hba.conf

#TYPE     DATABASE     USER     CIER-ADDRESS     METHOD
# IPv4 local connections:
host      all          all      127.0.0.1/32     md5
# IPv6 local …
Run Code Online (Sandbox Code Playgroud)

windows path

26
推荐指数
4
解决办法
9万
查看次数

如何将锚添加到redirect_to:back

我有一个博客应用程序,其帖子可以通过vote帖子控制器中的操作接收投票.因为我允许在索引和显示视图中redirect_to :back进行投票,所以我在投票后进行投票,如下所示.

def vote
  # voting logic goes here
  redirect_to :back
end
Run Code Online (Sandbox Code Playgroud)

这会将我重定向到正确的页面,但我想重定向到页面中的特定帖子.为此,我在帖子部分div中添加了一个识别锚点.

<div id="post_<%= post.id %>">
  <%= post.content %>
</div>
Run Code Online (Sandbox Code Playgroud)

我怎么能在我的网站上引用这个redirect_to :back?我尝试了以下,这是行不通的.

# this doesn't work!
redirect_to :back, anchor: "post_#{@post.id}"
Run Code Online (Sandbox Code Playgroud)

或者,如果我对show和index视图使用if子句,我该怎么做?我尝试了以下,返回undefined method 'current_page' for VocabsController.

#this doesn't work!
if current_page?(posts_path)
  redirect_to posts_path(anchor: "post_#{@post.id}"
else
  redirect_to @post
end
Run Code Online (Sandbox Code Playgroud)

anchor ruby-on-rails

9
推荐指数
2
解决办法
5429
查看次数

如何重定向到页面中的某个位置?

我有一个带有评论的博客应用程序.目前,评论控制器具有标准的创建操作

def create    
  @comment = current_user.build(params[:comment])
  respond_to do |format|
  if @comment.save
    format.html { redirect_to @comment.post }
  end
end
Run Code Online (Sandbox Code Playgroud)

创建后,用户将被重定向到发表评论的博客文章.如何在页面中向下重定向到新评论的位置?

文章/ show.html.erb

<div id="post_show">
  <%= @post.content %>
  <%= render @post.comments %>
</div>
Run Code Online (Sandbox Code Playgroud)

评论/ _comment.html.erb

<div id="comment_partial">
  <%= comment.content %>
</div>
Run Code Online (Sandbox Code Playgroud)

有什么东西我可以添加到我的HTML,然后在我的控制器中引用?我需要以某种方式"保存"位置吗?感谢您帮助新手!

redirect ruby-on-rails

5
推荐指数
1
解决办法
2993
查看次数

"运算符不存在:整数=?" 与Golang一起使用Postgres时

我在go的database/sql包提供的QueryRow方法中调用了一个简单的SQL查询.

import (
  "github.com/codegangsta/martini"
  "github.com/martini-contrib/render"
  "net/http"
  "database/sql"
  "fmt"
  _ "github.com/lib/pq")
)

type User struct {
  Name string
}

func Show(db *sql.DB, params martini.Params) {
  id := params["id"]
  row := db.QueryRow(
    "SELECT name FROM users WHERE id=?", id)
  u := User{}
  err := row.Scan(&u.Name)
  fmt.Println(err)
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误pq: operator does not exist: integer =?看起来代码不明白它?只是一个占位符.我怎样才能解决这个问题?

sql postgresql go pq

5
推荐指数
1
解决办法
4321
查看次数

YAML配置文件:为什么'example'而不是:example?

我为环境特定变量(如用户名和密码)设置了一个环境YAML文件.要在我的应用程序中使用这些变量,我需要使用APP_CONFIG['username']而不是APP_CONFIG[:username].为什么是这样?我该如何启用后者呢?这不是一个重大问题,但我不知道差异的原因.

配置/初始化/ load_app_config.rb

APP_CONFIG = YAML.load_file("#{Rails.root}/config/app_config.yml")[Rails.env]
Run Code Online (Sandbox Code Playgroud)

配置/ app_config.yml

development:
  username: development_name
  password: secret

production:
  username: production_name
  password: super_secret
Run Code Online (Sandbox Code Playgroud)

yaml ruby-on-rails

3
推荐指数
1
解决办法
3968
查看次数

如何从RSpec中的控制器调用create操作

我有一个控制器create动作,该动作可以创建新的博客文章,并在帖子成功保存后运行其他方法。

我有一个单独的工厂女孩​​文件,其中包含要发布的帖子的参数。FactoryGirl.create调用ruby create方法,而不是控制器中的create动作。

如何从RSpec中的控制器调用create操作?以及如何在我的工厂女孩factories.rb文件中将其发送给它?

posts_controller.rb

def create
  @post = Post.new(params[:post])
  if @post.save
    @post.my_special_method
    redirect_to root_path
  else
    redirect_to new_path
  end
end
Run Code Online (Sandbox Code Playgroud)

spec / requests / post_pages_spec.rb

it "should successfully run my special method" do
  @post = FactoryGirl.create(:post)
  @post.user.different_models.count.should == 1
end
Run Code Online (Sandbox Code Playgroud)

post.rb

def my_special_method
  user = self.user
  special_post = Post.where("group_id IN (?) AND user_id IN (?)", 1, user.id)
  if special_post.count == 10
    DifferentModel.create(user_id: user.id, foo_id: foobar.id)
  end
end   
Run Code Online (Sandbox Code Playgroud)

结束

rspec ruby-on-rails factory-bot

3
推荐指数
1
解决办法
5193
查看次数

如何循环遍历属性和数组以在表单中创建表

我创建了调查,并有一堆命名的列的:movie_1通过:movie_5,我想通过做一个表,我的形式循环.这样做的最佳方法是什么?

到目前为止,我已经开始如下,但无法弄清楚如何格式化循环.

survey.rb模型

attr_accessible :movie_1, :movie_2, :movie_3, :movie_4, :movie_5

MOVIES = ["Rocky", "Wayne's World", "The Godfather", "Alien", "Toy Story"]
Run Code Online (Sandbox Code Playgroud)

new.html.erb调查表

<%= form_for @survey do |f|
  <table>
    <tr>
      <th>Movie Name</th>
      <th>Rating</th>
    </r>
    <% 5.times.each do |n| %>
      <tr>
        <th><%= f.label Survey::MOVIES[n] %></th> # how can I loop through the MOVIES array?
        <th><%= f.text_field :movie_n %></th> # how can I loop through the different columns?
      </tr>
    <% end %>
  </table>
<% end %>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

2
推荐指数
1
解决办法
1051
查看次数

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

问题将Rails应用程序(SQLite3)部署到Heroku(PostgreSQL)

关于部署到Heroku的问题,我看到很多帖子,但是我无法找到适合我案例的解决方案.任何输入都将非常感激.

我有一个在本地运行良好的博客应用程序.但是,当我部署到Heroku时,我回来了"我很抱歉,但出了点问题".

我拥有的宝石是:

group :development do
  gem 'sqlite3', '1.3.5'
end

group :production do
  gem 'pg', '0.12.2'
end
Run Code Online (Sandbox Code Playgroud)

我采取的步骤是:

git add.
git commit -am "latest update"
git push
git push heroku
rake db:migrate
heroku run rake db:migrate
Run Code Online (Sandbox Code Playgroud)

我的SQLite3数据库正在迁移,因为我可以通过rails console找到我最新的博客条目(Blog.find(21)).但是,当Heroku控制台返回时,数据似乎没有迁移到Heroku数据库

"ActiveRecord::RecordNotFound: Couldn't find Blog with id=21."
Run Code Online (Sandbox Code Playgroud)

此外,"heroku日志"发现:

Completed 500 Internal Server Error in 50ms
NoMethod Error (undefined method 'blogs' for nil:NilClass):
  app/controllers/static_pages_controller.rb:8:in 'home'
Run Code Online (Sandbox Code Playgroud)

这是否意味着我的static_pages_controller中可能存在问题,或者它只是返回错误,因为数据库没有正确迁移?

下面是我的static_pages控制器,它在我的本地服务器上运行正常.

class StaticPagesController < ApplicationController
  def home
    if signed_in?
      @blog = current_editor.blogs.build
    end

    @editor = Editor.first
    @blogs = …
Run Code Online (Sandbox Code Playgroud)

sqlite postgresql ruby-on-rails heroku

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

如何在不计算包含的格式数据的情况下显示字符串的n个字符

我在我的博客应用程序中使用CKEditor,并在我的:content属性中保存格式化数据.

例如,特定的@ post.content可能会像这样开始.

<p>\r\n\t<span class=\"s1\" style=\"color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 1.1em; line-height: 1.7em;\">This is my text starting here. This is an really awesome entry, you see...

条目的第一部分是所有格式化数据,实际书面内容以"这是我的文字从这里开始......"开头.

我想要做的是显示书面内容的前五十个字符.

我试过这样的事,

<%= post.content.first(50).try(:html_safe) %>
Run Code Online (Sandbox Code Playgroud)

但这不会返回任何内容,除非格式化数据少于50个字符.

如何显示书面内容的前五十个字符?

如果不清楚,或者是否需要任何其他信息,请告诉我.非常感谢您的帮助!

ruby-on-rails view

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

标签 统计

ruby-on-rails ×8

postgresql ×2

anchor ×1

facebook ×1

factory-bot ×1

go ×1

heroku ×1

path ×1

pq ×1

redirect ×1

rspec ×1

sql ×1

sqlite ×1

view ×1

windows ×1

yaml ×1