0

皆さんはこれらをどのように処理していますか?2 人を比較するとき、性別固有の代名詞を使用しますか? 「ボブはステイシーが好きです。彼はいつも彼女と彼女の長い髪を切望していました。彼女はボブと彼の不気味な視線が好きではありません...」

したがって、Bob はデータベース内のエンティティであり、Stacy も同様です。bob = User.find_by_name('Bob')stacy = User.find_by_name('Stacy')bob.gender男性をstacy.gender返し、女性を返します。

上記の引用は、データベース内のエンティティからのものでもあります。 Match.find(23).body. データベースに一般的なものを入れて、入力可能にしたいのですが、うまくいかないようです。 @p1.first_name likes @p2.first_name. @p1.She has always longed for @p2.her, and @p2.her_p long hair. @p2.She doesn't like @p2.first_name, and @p2.her_p creepy stares...ここでは、女性の代名詞を名前として受け取り、実際の代名詞を返すメソッドがあります。

コントローラでは@dislike = Match.find(23).body、 、@p1 = bob、そして@p2 = stacyそうですか?

ビューでは、<%= @dislike %>

それはうまくいきません。私はgsubも見て、それに応じて剥ぎ取りました。私はそれを機能させることができます。他の人がこの状況にどのように対処したか、または私がそれを非常に複雑にしたかどうかに興味があります.

4

2 に答える 2

0
def rend(p1, p2)
  body = self.body
  body = body.gsub(/p1.first_name/, p1.first_name)
  body = body.gsub(/p2.first_name/, p2.first_name)
  if p1.gender == 'male'
    body = body.gsub(/p1.she/, 'he')
    body = body.gsub(/p1.her_p/, 'his')
    body = body.gsub(/p1.her/, 'him')
    body = body.gsub(/p1.herself/, 'himself')
    body = body.gsub(/p1.hers/, 'his')
    body = body.gsub(/p1.She/, 'He')
    body = body.gsub(/p1.Her_p/, 'His')
    body = body.gsub(/p1.Her/, 'Him')
    body = body.gsub(/p1.Herself/, 'Himself')
    body = body.gsub(/p1.Hers/, 'His') 
  end
  if p1.gender == 'female'
    body = body.gsub(/p1.she/, 'she')
    body = body.gsub(/p1.her_p/, 'her')
    body = body.gsub(/p1.her/, 'her')
    body = body.gsub(/p1.herself/, 'herself')
    body = body.gsub(/p1.hers/, 'hers')
    body = body.gsub(/p1.She/, 'She')
    body = body.gsub(/p1.Her_p/, 'Her')
    body = body.gsub(/p1.Her/, 'Her')
    body = body.gsub(/p1.Herself/, 'Herself')
    body = body.gsub(/p1.Hers/, 'Hers')
  end
  if p2.gender == 'male'
    body = body.gsub(/p2.she/, 'he')
    body = body.gsub(/p2.her_p/, 'his')
    body = body.gsub(/p2.her/, 'him')
    body = body.gsub(/p2.herself/, 'himself')
    body = body.gsub(/p2.hers/, 'his')
    body = body.gsub(/p2.She/, 'He')
    body = body.gsub(/p2.Her_p/, 'His')
    body = body.gsub(/p2.Her/, 'Him')
    body = body.gsub(/p2.Herself/, 'Himself')
    body = body.gsub(/p2.Hers/, 'His')
  end
  if p2.gender == 'female'
    body = body.gsub(/p2.she/, 'she')
    body = body.gsub(/p2.her_p/, 'her')
    body = body.gsub(/p2.her/, 'her')
    body = body.gsub(/p2.herself/, 'herself')
    body = body.gsub(/p2.hers/, 'hers')
    body = body.gsub(/p2.She/, 'She')
    body = body.gsub(/p2.Her_p/, 'Her')
    body = body.gsub(/p2.Her/, 'Her')
    body = body.gsub(/p2.Herself/, 'Herself')
    body = body.gsub(/p2.Hers/, 'Hers')
  end

  body
end
于 2013-03-08T20:46:27.373 に答える
0

データベースを使用している場合は、性別の名前テーブルに列を追加するだけです.ブールフィールドを使用する場合は、次のことができます..

name_a = some_db_query_for_name
if name_a.gender = true:
    a = "she"
else:
    a = "he"

次に、テンプレートで参照するだけです

@name_a likes @name_b, @a is ...

Ruby/Rails コードではなく申し訳ありませんが、質問を見て、これが最善のアプローチ方法のように思えました。

于 2013-03-08T19:43:02.987 に答える