0

Rails を独学しようとしていて、PHP では簡単だったのに、この 1 つの領域で混乱して行き詰まってしまったことがあります。

いくつかのドロップダウンがあるフォームがあります。ドロップダウンを取得して値を表示し、その値のIDを別のテーブルに保存することができました。新しいレコードを表示したいのですが、保存した ID を表示する代わりに、元のテーブルから値を収集して表示したいと思います。

それが理にかなっていることを願っています。

以下は私の現在のコードです。

モデルの検索

class Finding < ActiveRecord::Base
belongs_to :skill

スキルモデル

class Skill < ActiveRecord::Base
attr_accessible :skill_desc, :skill_level
has_many :findings

show.html.erb

<td>Finding Skill</td>
<td><%= @finding.skill_id %> </td>

私の質問は、スキル モデルから skill_desc フィールドを表示するために、@finding.skill_id も変更する必要があると思いますか?

4

2 に答える 2

2
<%= @finding.skill.skill_desc %>

@finding.skillSkillその結果に関連付けられたオブジェクトを返します。これを呼び出して、そのskill_desc値を取得できます。

于 2013-01-19T00:27:14.247 に答える
1
@finding.skill.skill_desc

スキルの結果を見つけたい場合は、使用する必要があります

@skill.findingsそのスキル オブジェクトに関連付けられた結果オブジェクトの配列を返します。

SQLでは、次のようになります

SELECT * FROM findings WHERE ID EQ 23 JOIN skills ON findings.skill_id = Skills.id 
于 2013-01-19T00:27:10.330 に答える