小编Gab*_*e M的帖子

如何在shell脚本中运行SQL

如何在设置变量时在shell脚本中运行SQL命令?我曾尝试过这种方法并且没有执行命令,它认为命令只是一个字符串.

#!/bin/ksh
variable1=`sqlplus -s username/pw@oracle_instance <<EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
select count(*) from table;
EXIT;
EOF`
if [ -z "$variable1" ]; then
  echo "No rows returned from database"
  exit 0
else
  echo $variable1
fi
Run Code Online (Sandbox Code Playgroud)

sql unix oracle shell

4
推荐指数
2
解决办法
13万
查看次数

在has_many视图表中显示名称而不是ID

我已经尝试过其他几个类似的帖子,但我仍然收到错误.

在Posts模型中,我有一个category_id字段.我有以下型号:

#Posts model
belongs_to :categories  

#Category model
has_many :posts
Run Code Online (Sandbox Code Playgroud)

在Posts索引控制器中,我有:

@categories = @posts.Category.find(:all, :order => 'categoryname')
Run Code Online (Sandbox Code Playgroud)

在视图我有:

<% @posts.each do |post| %>
<tr>
<td><%= post.category_id %></td>
<td><%= @categories.categoryname %></td>

<td><%= link_to 'View', post %></td>
<td><%= link_to 'Edit', edit_post_path(post) %></td>
</tr>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在第二列中,我尝试显示Category表中的类别名称("categoryname"),而不是posts表中的category_id.我收到一个错误:

#ActiveRecord :: Relation:0x3e1a9b0>的未定义方法`Category'

我也尝试过:

<td><%= post.categories.categoryname %></td>
Run Code Online (Sandbox Code Playgroud)

但得到同样的错误.

以及:

<td><%= post.category.categoryname %></td>
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激.

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

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

标签 统计

oracle ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1

shell ×1

sql ×1

unix ×1